ASP下操作Excel技術總結分析

2022-10-06 17:42:13 字數 4031 閱讀 5539

asp操作excel技術總結 

目錄 

一、  環境配置 

二、  asp對excel的基本操作 

三、  asp操作excel生成資料表 

四、  asp操作excel生成chart圖 

五、  伺服器端excel檔案瀏覽、**、刪除方案 

六、  附錄 

正文 

一、  環境配置 

伺服器端的環境配置從參考資料上看,微軟系列的配置應該都行,即: 

1.win9x+pws+office 

2.win2000 professional+pws+office 

3.win2000 server+iis+office 

目前筆者測試成功的環境是後二者。office的版本沒有特殊要求,考慮到客戶機配置的不確定性和下相容特性,建議伺服器端office版本不要太高,以防止客戶機**後無法正確顯示。 

伺服器端環境配置還有兩個偶然的發現是: 

1.  筆者開發機器上原來裝有金山的wps2002,結果excel物件建立始終出現問題,解除安裝wps2002後,錯誤消失。 

2.  筆者開發asp**喜歡用frontpage,結果發現如果frontpage開啟(伺服器端),物件建立出現不穩定現象,時而成功時而不成功。擴充套件考察後發現,office系列的軟體如果在伺服器端執行,則excel物件的建立很難成功。 

伺服器端還必須要設定的一點是com元件的操作許可權。在命令列鍵入「dcomcnfg」,則進入com元件配置介面,選擇microsoft excel後點選屬性按鈕,將三個單選項一律選擇自定義,編輯中將everyone加入所有許可權。儲存完畢後重新啟動伺服器。 

客戶端的環境配置沒發現什麼特別講究的地方,只要裝有office和ie即可,版本通用的好象都可以。 

二、  asp對excel的基本操作 

1、  建立excel物件 

set objexcelapp = createobject("excel.application") 

objexcelapp.displayalerts = false    不顯示警告 

objexcelapp.application.visible = false    不顯示介面 

2、  新建excel檔案 

objexcelapp.workbooks.add 

set objexcelbook = objexcelapp.activeworkbook 

set objexcelsheets = objexcelbook.worksheets 

set objexcelsheet = objexcelbook.sheets(1) 

3、  讀取已有excel檔案 

straddr = server.mappath(".") 

objexcelapp.workbooks.open(straddr & "\templet\table.xls") 

set objexcelbook = objexcelapp.activeworkbook 

set objexcelsheets = objexcelbook.worksheets 

set objexcelsheet = objexcelbook.sheets(1) 

4、  另存excel檔案 

objexcelbook.s**eas straddr & "\temp\table.xls" 

5、  儲存excel檔案 

objexcelbook.s**e    (筆者測試時儲存成功,頁面報錯。) 

6、  退出excel操作 

objexcelapp.quit  一定要退出 

set objexcelapp = nothing 

三、  asp操作excel生成資料表 

1、  在乙個範圍內插入資料 

objexcelsheet.range("b3:k3").value = array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10") 

2、  在乙個單元格內插入資料 

objexcelsheet.cells(3,1).value="internet explorer" 

3、  選中乙個範圍 www.cppcns.com

4、  單元格左邊畫粗線條 

5、  單元格右邊畫粗線條 

6、  單元格上邊畫粗線條 

7、  單元格下邊畫粗線條 

8、  單元格設定背景色 

9、  合併單元格 

10、  插入行 

11、  插入列 

四、  asp操作excel生成chart圖 

1、  建立chart圖&nb程式設計客棧sp;

objexcelapp.charts.add 

2、  設定chart圖種類 

objexcelapp.activechart.charttype = 97 

注:二維折線圖,4;二維餅圖,5;二維柱形圖,51 

3、  設定chart圖標題 

objexcelapp.activechart.hastitle = true 

objexcelapp.activechart.charttitle.text = "a test chart" 

4、  通過**資料設定圖形 

objexcelapp.activechart.setsourcedata objexcelsheet.range("a1:k5"),1 

5、  直接設定圖形資料(推薦) 

objexcelapp.activechart.seriescollection.newseries 

objexcelapp.activechart.seriescollection(1).name = "=""333""" 

objexcelapp.activechart.seriescollection(1).values = "=" 

6、  繫結chart圖 

objexcelapp.activechart.location 1 

7、  顯示資料表 

objexcelapp.activechart.hasdatatable = true 

8、  顯示圖例 

objexcelapp.activechart.datatable.showlegendkey = true 

五、  伺服器端excel檔案瀏覽、**、刪除方案 

瀏覽的解決方法很多,「location.href=」,「n**igate」,「response.redirect」都可以實現,建議用客戶端的方法,原因是給伺服器更多的時間生成excel檔案。 

**的實現www.cppcns.com要麻煩一些。用網上現成的伺服器端**元件或自己定製開發乙個元件是比較好的方案。另外一種方法是在客戶端操作excel元件,由客戶端操作伺服器端excel檔案另存至客戶端。這種方法要求客戶端開放不安全activex控制項的操作許可權,考慮到通知每個客戶將伺服器設定為可信站點的麻煩程度建議還是用第乙個方法比較省事。 

刪除方案由三部分組成: 

a:  同一使用者生成的excel檔案用同乙個檔名,檔名可用使用者id號或sessionid號等可確信不重複字元www.cppcns.com串組成。這樣新檔案生成時自動覆蓋上一檔案。 

b:  在global.asa檔案中設定session_onend事件激發時,刪除這個使用者的excel暫存檔案。 

c:  在global.asa檔案中設定application_onstart事件激發時,刪除暫存目錄下的所有檔案。 

注:建議目錄結構 mpcnitdpsrc **目錄 \templet 模板目錄 \temp 暫存目錄 

六、  附錄 

出錯時excel出現的死程序出現是一件很頭疼的事情。在每個檔案前加上「on error resume next」將有助於改善這種情況,因為它會不管檔案是否產生錯誤都堅持執行到「application.quit」,保證每次程式執行完不留下死程序。 

本文標題: asp下操作excel技術總結分析

本文位址:

ASP操作Excel技術總結

三 asp操作excel生成資料表 1 在乙個範圍內插入資料 objexcelsheet.range b3 k3 value array 67 87 5 9 7 45 45 54 54 10 2 在乙個單元格內插入資料 objexcelsheet.cells 3,1 value internet e...

ASP操作Excel技術總結

三 asp操作excel生成資料表 1 在乙個範圍內插入資料 objexcelsheet.range b3 k3 value array 67 87 5 9 7 45 45 54 54 10 2 在乙個單元格內插入資料 objexcelsheet.cells 3,1 value internet e...

asp操作excel 技術總結

三 asp操作excel 生成資料表 1 在乙個範圍內插入資料 objexcel sheet.range b3 k3 value array 67 87 5 9 7 45 45 54 54 10 2 在乙個單元格內插入資料 objexcel sheet.cells 3,1 value interne...