通過NPOI把DataTable匯出到Excel

2021-05-25 00:23:16 字數 2112 閱讀 2071

npoi 快速入門例子:

///

/// npoi簡單demo,快速入門** 

///

///

///

/// npoi認為excel的第乙個單元格是:(0,0)

/// 柳永法 2010-5-8 22:21:41

public

static

void exporteasy(datatable dtsource, string strfilename)   

//填充內容 

for (int i = 0; i < dtsource.rows.count; i++)   

}   

//儲存 

using (memorystream ms = new memorystream())   

}   

workbook.dispose();   

}  

接下來是柳永法(yongfa365)'blog封裝的可以用在實際專案中的類,實現的功能有(僅npoi):

支援web及winform從datatable匯出到excel。

生成速度很快。

準確判斷資料型別,不會出現身份證轉數值等上面提到的一系列問題。

如果單頁條數大於65535時會新建工作表。

列寬自適應。

支援讀取excel。

呼叫方便,只一呼叫乙個靜態類就ok了。

因為測試期間發現myxls匯出速度要比npoi慢3倍,而npoi既能滿足我們的匯出需求,又能很好的滿足我們的匯入需求,所以只針對npoi進行全方位功能實現及優化。

using system;   

using system.collections.generic;   

using system.data;   

using system.io;   

using system.text;   

using system.web;   

using npoi;   

using npoi.hpsf;   

using npoi.hssf;   

using npoi.hssf.usermodel;   

using npoi.hssf.util;   

using npoi.poifs;   

using npoi.util;   

public class excelhelper   

}   

}   

///

/// datatable匯出到excel的memorystream   

///

/// 源datatable

/// 表頭文字

/// 柳永法  2010-5-8 22:21:41

/// 源datatable

/// 表頭文字

/// 檔名

/// 柳永法  2010-5-8 22:21:41

/// excel文件路徑

///

public static datatable import(string strfilename)   

hssfsheet sheet = hssfworkbook.getsheetat(0);   

system.collections.ienumerator rows = sheet.getrowenumerator();   

hssfrow headerrow = sheet.getrow(0);   

int cellcount = headerrow.lastcellnum;   

for (int j = 0; j < cellcount; j++)   

for (int i = (sheet.firstrownum + 1); i <= sheet.lastrownum; i++)   

dt.rows.add(datarow);   

}   

return dt;   

}   

}npoi匯出excel表功能實現(多個工作簿):

在 server 端訪問 excel 檔案的利器:npoi library:

asp.net使用npoi類庫匯出excel:

NPOI把Excel匯入到資料庫

一,如何把excel中的資料匯入到資料庫?1 可以使用多種方式,但是較好的一種是使用npoi。2 npoi的缺陷 只能在office2003中使用,office2007無法使用npoi,同時對於wps也不能使用。3 使用是要引入npoi的dll外部檔案,下面的 使用了簡單三層的思想。二,把excel...

NPOI把Excel匯入到資料庫

二,把excel中的資料匯入到資料庫的具體步驟 protected void button1 click object sender,eventargs e else userinfo.email row.getcell 2 stringcellvalue 號碼同樣如此 if row.getcell...

把GPIO 通過sysfs匯出到使用者空間

在嵌入式裝置中對gpio的操作是最基本的操作。一般的做法是寫乙個單獨驅動程式,網上大多數的例子都是這樣的。其實linux下面有乙個通用的gpio操作介面,那就是我要介紹的 sys class gpio 方式。首先,看看系統中有沒有 sys class gpio 這個資料夾。如果沒有請在編譯核心的時候...