ASP.NET Excel導出(動態生成)解決方案
(一)、服務器端的excel組件來生成目標Excel
即在後臺調用excel組件,來讀取模板,填寫模板的。就是後臺啓動Excel來處理的,在進程管理器裏可以查看到它的進程。
優點:Excel處理功能豐富,多樣,可以完成一切的Excel文件處理。
缺點:服務器端要裝Excel軟件,處理效率低,容易產生進程無法回收,服務器容易崩潰。
(二)、利用MSOWC組件,即微軟的 office web component
優點:服務器無需安裝office軟件,功能強大,簡單易用。
缺點:不能直接讀取excel,excel轉化xml後讀取流造成一些個性化效果丟失;客戶端要安裝owc,可能涉及版權的問題;讀寫速度很慢。
(三)、開源組件 MyXls
優點:不依賴Microsoft組件,在內存中操作excel,讀寫速度快。
缺點:無法讀取模板,只能生成新的excel,格式不好控制。
(四)、操作Excel的導出XML文件
XML中添加新行元素,更新行數信息和驗證信息
優點:讀取模板,通過文件流讀寫XML,速度最快。
缺點:轉化爲XML可能丟失一些個性效果;只適合有新行插入的工作簿,對沒有新行插入,僅僅填寫單元格的工作簿支持不好。
(五)、ado.net
缺點: 容易出錯,而且操作也不靈活,插入等經常遇到問題,而且不能刪除行。比較適用於結構單一的Excel表。