摘要: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詳細介紹:
使用方法:
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"))
讀取excel檔案的**如下:
private iworkbook workbook = null;
/// /// 獲取地區列表資訊
///
///
private listgetareainfolist(string _filepathname)
}}
使用POI匯出Excel示例
使用poi匯出excel,需要的jar包 poi bin 3.9 20121203.zip 示例 如下 import org.apache.poi.hssf.usermodel.hssfcell import org.apache.poi.hssf.usermodel.hssfcellstyle i...
header匯出Excel應用示例
複製 如下 php class reportformaction extends commonaction if post two status 1 csv lists m creative where where order order select if is array lists count...
匯出excel檔案
hssfworkbook filename infoqueryservice.exportmyinfotoexcel infoheaderbo 把資料放到流中 outputstream os response.getoutputstream filename.write os response.fl...