C# 讀取Excel方式的三種優劣判斷(Microsoft.Office.Interop.Excel、NPOI、Aspose.Cell)
Published: (Updated: )
by .Microsoft.Office.Interop.Excel(COM元件)
推薦指數:★★
簡介:Office.Interop.Excel 將許多原生物件擴充為可以在文件層級自訂中使用的主項目和主控制項。這些控制項擁有多種額外的功能,包括資料繫結功能和事件等。
缺點:需要新增dll引用,且會有使用者存取權限問題,對於伺服器來說有一定的侷限性。
優點:較為靈活的讀取Excel中資料,同時還有各種函式可以進行處理
可操作性:幾乎可滿足大部分樣式設置,使用方式簡單。
使用心得: 一開始使用這個API非常快就上手,網路上資源非常多,且是較主流的處理Excel的方式。但在Local這邊測試都沒有問題,結果搬到站台上就出現權限性的存取問題,在站台上處理較不方便,所以後來就捨棄了使用此項方式。
NPOI
推薦指數:★★★
簡介:NPOI是一個開源的C#讀寫Excel、WORD等微軟OLE2組件文檔的項目。NPOI可以在沒有安裝Office的情況下對Word或Excel文檔進行讀寫操作。
優點:不需要在伺服器上安裝微軟的Office、讀取速度較快,適合多個版本的office
缺點:目前沒有太大的問題。
可操作性:幾乎可滿足大部分樣式設置,使用方式簡單,操作性高於上頁COM元件。
使用心得:因詢問後發現不能使用需要更改權限的dll,所以在網上找到C#處理Excel可不更動權限的API,目前使用率也非常高,但我個人認為在程式方面較上頁COM元件寫的複雜,像是要針對副檔名(.xlsx/.xls)進行不同的編譯方式(XSSFWorkbook/HSSFWorkbook),在程式撰寫上要先去判斷讀取的檔案副檔名為何才能進行。
Aspose.Cells
推薦指數:★★★★★
簡介:Aspose.Cells是一款功能強大的 Excel 文件處理和轉換控制元件,不依賴 Microsoft Excel 環境,支援所有 Excel 格式型別的操作。
優點:不需要在伺服器上安裝微軟的Office、可以對每一個具體的數據,表格和格式進行管理,在各個層面導入圖像,套用複雜的計算公式,並將應用程式中的表格保存為各種格式等。
缺點:不開源,付費的Library,但提供無限期的試用
可操作性:只要想得到的Excel處理方式,Aspose都能做到,包括畫表格、使用VBA等。
使用心得:後來得知到此種的處理方式,才發現Aspose的強大之處,除了不用設定額外的權限,在我從Excel中抓出資料的時候,可以直接幫我利用函式輸出成DataTable、Json,非常好用的一個API,而且速度也非常快速,程式碼簡潔,不需要寫很多行程式碼即可完成操作Excel的過程。
好文推薦:https://www.twblogs.net/a/5d6620a9bd9eee541c3313f2