c 匯出Excel檔案的操作示例

2021-06-26 18:18:01 字數 1909 閱讀 8679

摘要: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...