標籤:c# npio excel匯出
摘要:Excel的強大和易用,使得大家都喜歡將資料匯出為 Excel 備用。傳統的ExcelAutoMation技術諸多不足,比如:需要目標機器安裝Office、資源消耗較大等;使用NPOI的優勢:二進位讀寫檔案、無office依賴性、效率高等。文中詳細介紹了NPOI的技術特性,並給出匯出Excel的範例程式碼。
Excel 的強大之處在於它不僅僅只能開啟Excel格式的文檔,它還能開啟CSV格式、Tab格式、websitetable 等多鐘格式的文檔。正因為Excel的強大和易用,大家都喜歡將資料匯出為Excel 備用。
在網上搜尋“C# EXCEL 匯出”,跳出來的樣本大多數使用“ExcelAutoMation技術”,引用”Microsoft.Office.Interop.Excel”。該組件也能實現匯出功能,但是有些不足:
(一)傳統操作Excel遇到的問題:
1、如果是.NET,需要在伺服器端裝Office,且及時更新它,以防漏洞,還需要設定許可權允許.NET訪問COM+,如果在匯出過程中出問題可能導致伺服器宕機。
2、Excel會把只包含數位列進行類型轉換,本來是文本型的,Excel會將其轉成數值型的,比如編號000123會變成123。
3、匯出時,如果欄位內容以“-”或“=”開頭,Excel會把它當成公式進行,會報錯。
4、Excel會根據Excel檔案前8行分析資料類型,如果正好你前8行某一列只是數字,那它會認為該列為數值型,自動將該列轉變成類似1.42702E+17格式,日期列變成包含日期和數位。
(二)使用NPOI的優勢
1、您可以完全免費使用該架構
2、包含了大部分EXCEL的特性(單元格樣式、資料格式、公式等等)
3、專業的支援人員服務(24*7全天候) (非免費)
4、支援處理的檔案格式包括xls, xlsx, docx.
5、採用面向介面的設計架構( 可以查看NPOI.SS 的命名空間)
6、同時支援檔案的匯入和匯出
7、基於.net 2.0 也支援xlsx 和 docx格式(當然也支援.net4.0)
8、來自全世界大量成功且真實的測試Cases
9、大量的執行個體代碼
11、你不需要在伺服器上安裝微軟的Office,可以避免著作權問題。
12、使用起來比OfficePIA的API更加方便,更人性化。
13、你不用去花大力氣維護NPOI,NPOI Team會不斷更新、改善NPOI,絕對省成本。
NPIO詳細介紹:http://baike.baidu.com/view/4177704.htm
NPIO:https://npoi.codeplex.com/releases
使用方法:
1 引入兩個dll檔案:NPOI.dll、Ionic.zip.dll
2 編寫代碼
使用本代碼可以匯出一個簡單的Excel檔案到d:/1.xls
代碼如下所示:
//workbook工作薄,sheet頁,row行,cell儲存格 HSSFWorkbook hssfworkbook = new HSSFWorkbook(); ISheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); IRow rowHeader = sheet1.CreateRow(0);//第0行 rowHeader.CreateCell(0,CellType.STRING).SetCellValue("www.meteo-tech.com");//第0列,設定值 using (Stream stream =File.OpenWrite("d:/1.xls")) { hssfworkbook.Write(stream); }
c# 匯出Excel檔案的操作樣本