【2010-12-16】基於NPOI的打開/導出Excel文件操作類

 

在很久之前我應該是寫過一次關於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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章