天天看點

asp.net excel檔案導出的七種方法(簡述)

web導出Excel也不是什麼新鮮的話題了,到網上一查,結果一大堆。可是要挑選一個好的、合适的方法也不容易。再加上自己也沒有真正的做過這方面的導出工作,到底選那種方法好呢?最近一個一個方法地試了一邊,小結出來給大家做個參考。

測試題目:通過一個模闆,導出Excel檔案。(模闆結構較複雜,有公式、樣式、合并行等)

(一)、首先想到的是用伺服器端的Excel軟體com來生成目标Excel。這個是網上找到介紹最多的方法。這方法不多說了,有需要的可以到網上找,這裡簡單講講。這種方法就是調用伺服器端的Excel軟體,來讀取模闆,填寫模闆的。就是背景啟動Excel來處理的,在程序管理器裡可以檢視到它的程序。

缺點:伺服器端要裝Excel軟體,處理效率低,容易産生程序無法回收。

優點:Excel處理功能豐富,多樣,可以完成一切的Excel檔案處理。

注意:使用的時候要先在工程引入Excel com,我用的是11版本。

(二)、利用MSOWC,即是微軟的 office web component。安裝office就有安裝到這個元件。檔案和程式設計參考在系統盤ProgramFiles/CommonFiles/Microsoft Shared/下有Office10或者Office11版本。檔案夾中還有幫助檔案和例子。

這個方法我沒有比較全面的試用過。用的時候,好像沒有找到它打開Excel檔案的方法,不知道是沒有還是我沒留心找。我在試用的時候,是用它來設計Excel表的,要畫邊框,設定樣式等,好像很繁。

(三)、導出XML類型的Excel檔案。其實是一個XML檔案。這個方法好啊,用起來放心。因為asp.net裡面提供了很多豐富易用的xml類,xml處理起來明了,簡單。我把原來的Excel檔案儲存為xml文 件,用做模闆。接着就是讀寫Xml檔案了。想這麼讀就怎麼讀,想怎麼寫就怎麼寫,查找記錄、改變屬性值友善。優點:不用安裝Excel等軟體,處理靈活,效率高。

缺點:Excel2000版本不支援xml,不知道其他版本支不支援。我用的是2003版本。

(四)、用htm檔案。還好Excel2000支援htm,可以把Excel内容儲存到htm中。其實就是舊版本的xml嗎。當然,樣式和公式也可以用。我正打算用這個方法來做。(還沒有去全面試用,不過自己對html還是很熟的,處理起來應該沒問題。)

優缺點先不說,不過它代替xml在低版本的Excel中相容。

(五)、網上也有說用text做中介的。可是這種檔案表示不了樣式,公式等等,格式也很死闆。

(六)、ado.net容易出錯,而且操作也不靈活,插入等經常遇到問題,而且不能删除行。比較适用于結構單一的Excel表。

(七)也有方法在用戶端導出Excel。就是用腳本。