~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~安全
開發工具與關鍵技術:VS2015app
做者:張海鋒工具
撰寫時間:2019/5/25開發工具
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~測試
咱們該如何將數據導出到Excel表格呢?首先要將要導出的數據查詢出來,spa
查詢完後。建立Excel對象,給導出的Excel設置表頭,以下:excel
//建立Excel對象對象
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();blog
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet();//建立Excel對象工做簿開發
NPOI.SS.UserModel.IRow row1 = sheet.CreateRow(0);//給sheet添加第一行的頭部標題
row1.CreateCell(0).SetCellValue("學號");
row1.CreateCell(1).SetCellValue("姓名");
row1.CreateCell(2).SetCellValue("性別");
row1.CreateCell(3).SetCellValue("班級");
row1.CreateCell(4).SetCellValue("成績");
row1.CreateCell(5).SetCellValue("合格類型");
當咱們把表頭設置完後,給sheet的沒行添加數據,由於添加的數據有多有少,
因此咱們須要用循環的方法:
for (int i = 0; i < listResult.Count; i++)
{
NPOI.SS.UserModel.IRow row = sheet.CreateRow(i + 1);//給sheet添加一行
row.CreateCell(0).SetCellValue(listResult[i].StudentNumber);
row.CreateCell(1).SetCellValue(listResult[i].StudentName);
row.CreateCell(2).SetCellValue(listResult[i].StudentSex);
row.CreateCell(3).SetCellValue(listResult[i].ClassName);
row.CreateCell(4).SetCellValue(listResult[i].Achievement.ToString());
row.CreateCell(5).SetCellValue(listResult[i].EligibleType);
}
最後要給文件設置名稱:
//輸出的文件名稱
string fileName = "學生安全教育測試成績" + DateTime.Now.ToString
("yyyy-MM-dd-HH-mm-ss-ffff") + ".xls";
//把Excel轉化爲文件流,輸出
MemoryStream BookStream = new MemoryStream();//定義文件流
book.Write(BookStream);//將工做薄寫入文件流
BookStream.Seek(0, SeekOrigin.Begin);//輸出以前調用Seek(偏移量,遊標位置)方法:獲取文件流的長度
return File(BookStream, "application/vnd.ms-excel", fileName); // 文件類型/文件名稱/
導出後的表格: