ASP操作Excel技術總結

2022-09-29 16:51:14 字數 4180 閱讀 8458

目錄 

一、 環境配置 

二、 asp對excel的基本操作 

三、 asp操作excel生成資料表 

四、 asp操作e程式設計客棧xcel生成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)&n程式設計客棧bsp;

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、 選中乙個範圍 

4、 單元格左邊畫粗線條 

5、 單元格右邊畫粗線條 

6、 單元格上邊畫粗線條 

7、 單元格下邊畫粗線條 

8、 單元格設定背景色 

9、 合併單元格 

10、 插入行 

11、 插入列 

四、 asp操作excel生成chart圖 

1、 建立c程式設計客棧hart圖 

以下是引用片段:

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**ig程式設計客棧ate」,「response.redirect」都可以實現,建議用客戶端的方法,原因是給伺服器更多的時間生成excel檔案。 

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

刪除方案由三部分組成: 

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

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

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

注:建議目錄結構 \src **目錄 \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...