匯入以下5個引用:
icsharpcode.sharpziplib.dll
npoi.dll
npoi.ooxml.dll
npoi.openxml4net.dll
npoi.openxmlformats.dll
1.將excle資料匯入到datatable中
新建工具類: 根據上傳檔案字尾名判斷 xls使用 importexcelfile2003方法 xlsx使用importexcelfile2007方法
using2.將資料匯出到excle引用命名空間:npoi.xssf.usermodel;
using
npoi.ss.usermodel;
using
npoi.hssf.usermodel;
using
system;
using
system.collections.generic;
using
system.data;
using
system.io;
using
system.text;
using
npoi.ss.formula.eval;
//////
npoiexcelhelper 的摘要說明
///public
class
npoiexcelhelper
}catch
(exception e)
#endregion
npoi.ss.usermodel.isheet sheet = hssfworkbook.getsheetat(0
);; system.collections.ienumerator rows =sheet.getrowenumerator();;
datatable dt = new
datatable();;
rows.movenext();;
xssfrow row =(xssfrow)rows.current;
for (int j = 0; j < (sheet.getrow(0).lastcellnum); j++)
while
(rows.movenext())
else
}dt.rows.add(dr);;
}return
dt; }
public
static datatable importexcelfile2003(string
filepath)
}catch
(exception e)
#endregion
npoi.ss.usermodel.isheet sheet = hssfworkbook.getsheetat(0
);; system.collections.ienumerator rows =sheet.getrowenumerator();;
datatable dt = new
datatable();;
rows.movenext();;
hssfrow row =(hssfrow)rows.current;
for (int j = 0; j < (sheet.getrow(0).lastcellnum); j++)
while
(rows.movenext())
else
}dt.rows.add(dr);;
}return
dt; }
}
using npoi.xssf.usermodel;
using npoi.ss.usermodel;
using npoi.hssf.usermodel;
using npoi.ss.formula.eval;
**例項:
//匯出結果如圖:建立工作簿
hssfworkbook workbook = new
hssfworkbook();
//建立標籤
isheet sheet = workbook.createsheet("
sheet1");
//新建表頭
irow rowhead = sheet.createrow(0
);rowhead.createcell(
0, celltype.string).setcellvalue("序號"
);rowhead.createcell(
1, celltype.string).setcellvalue("
學生姓名");
rowhead.createcell(
2, celltype.string).setcellvalue("性別"
);rowhead.createcell(
3, celltype.string).setcellvalue("
生源地"
);rowhead.createcell(
4, celltype.string).setcellvalue("
身份證"
);rowhead.createcell(
5, celltype.string).setcellvalue("
准考證"
);rowhead.createcell(
6, celltype.string).setcellvalue("
專業名稱");
rowhead.createcell(
7, celltype.string).setcellvalue("
專業方向");
rowhead.createcell(
8, celltype.string).setcellvalue("**"
);rowhead.createcell(
9, celltype.string).setcellvalue("
生源學校");
rowhead.createcell(
10, celltype.string).setcellvalue("
審核狀態");
rowhead.createcell(
11, celltype.string).setcellvalue("
錄取狀態");
//迴圈填充內容
for (int i = 0; i < table.rows.count; i++)
system.io.memorystream ms = new
system.io.memorystream();
//寫入記憶體
workbook.write(ms);
response.addheader(
"content-disposition
", string.format("
attachment; filename=.xls
", datetime.now.tostring("
yyyymmddhhmmssfff
")));
//輸出到客戶端
response.binarywrite(ms.toarray());
workbook = null
;ms.close();
ms.dispose();
3.將伺服器上的檔案輸出到客戶端
//將伺服器上 /uploads/test.xlsx 檔案 輸出到客戶端並使用日期命名讀取檔案
~/uploads/test.xlsx
"), filemode.open);
long filesize =filestream.length;
byte filebuffer = new
byte
[filesize];
filestream.read(filebuffer,
0, (int
)filesize);
response.contenttype = "";
response.addheader(
"content-disposition
", string.format("
attachment; filename=.xlsx
", datetime.now.tostring("
yyyymmdd
")));
response.addheader(
"content-length
", filesize.tostring());
response.binarywrite(filebuffer);
response.flush();
response.close();
C 使用NPOI對EXCle增 刪 改 查 方法
最近閒來無事封裝了使用npoi對excle檔案增刪改查的方法,親測可用附 根據路徑和表名得到dictionary資料字典 public dictionary int,dictionary string string getdictionarybysheetname string excelpath,...
使用NPOI讀取Excel到DataTable
一 npoi介紹 使用 npoi 你就可以在沒有安裝 office 或者相應環境的機器上對 word excel 文件進行讀寫。npoi是構建在poi 3.x版本之上的,它可以在沒有安裝office的情況下對word excel文件進行讀寫操作 二 安裝npoi 新建控制台應用程式 管理nuget程...
使用NPOI讀取Excel資料並寫入SQLite
首先,我們來建乙個資料庫,我們就叫hello.db 不一定是db字尾,你可以sqlite,sqlite3,db3 都可以作為識別,然後往裡面建乙個空的 如下圖所示 然後建乙個excel 往 裡面寫入一些資料,我這裡只是demo形式,可以根據自己的實際情況,稍作修改 然後開始建乙個新的專案,我這裡用的...