在很久之前我應該是寫過一次關於Excel的導入導出的文章的,那時候是直接使用OFFICE的組件,後來遇到進程的問題,改爲使用第三方Aspose.Cells,但這是一個收費的組件,最近在開源中國中看到開源項目NPOI,所以今天把Aspose.Cells替換掉,改成NPOI。
NPOI目前應該說沒有Aspose.Cells強大的,比如說現在日漸盛行的OFFICE 2007,NPOI還不支持,有些操作也不如Aspose.Cells來的方便。但是我曾經把兩者比較過,打開Excel文件的話,Aspose.Cells會快大概1-3秒左右,導出的話NPOI反而比Aspose.Cells快上05-2秒左右(導出的過程邏輯是一樣的,我只是把用到Aspose.Cells的地方都換成NPOI的操作),當然這裏的比較僅僅是提供參考。
Aspose.Cells,我感覺其實就是封裝了好些常用的操作,比如說打開文件並導入一個DataTable裏,在Aspose.Cells是已經封裝好的方法,而在NPOI是需要自己做的。兩者應該是各有各的優勢的,但是畢竟Aspose.Cells是收費的,估計願意出錢的不多,而且要用全部功能的也不多,而NPOI免費而且開源,況且我僅僅是做一些簡單的導入導出而已。
因爲是類庫,沒什麼圖片上,上代碼:
以上是打開一個Excel文件。
以上是導出到Excel,裏面用了自己定義的一個類,用來放一些導出的一些設置和數據。裏面用DataSet來放相關設置和數據,主要考慮到一次多出多個文件。
因爲NPOI目前還不支持office2007,所以有必要做一下文件的判斷,其實NPOI的源碼裏也有這個判斷的,但是自己先判斷一下,不符合的直接不打開。
項目源碼:http://download.csdn.net/source/2912158