C#使用NPOI 导出Excel
首先需要添加NPOI的引用
//创建Excel文件的对象
HSSFWorkbook book = new HSSFWorkbook();
//添加一个sheet
IRow row2 = sheet1.CreateRow(0);
row2.CreateCell(0).SetCellValue("序号");
row2.CreateCell(1).SetCellValue("作业许可单号");
row2.CreateCell(2).SetCellValue("申请人");
row2.CreateCell(3).SetCellValue("申请单位");
row2.CreateCell(4).SetCellValue("作业日期(起)");
row2.CreateCell(5).SetCellValue("作业日期(讫)");
row2.CreateCell(6).SetCellValue("主承揽商");
row2.CreateCell(7).SetCellValue("次承揽商");
row2.CreateCell(8).SetCellValue("工作内容");
row2.CreateCell(9).SetCellValue("工作人员");
row2.CreateCell(10).SetCellValue("人数(仅供参考)");
if (list != null && list.Count > 0)
{
for (var i = 0; i < list.Count; i++)
{
IRow rowtemp2 = sheet1.CreateRow(i + 1);
//非表头
rowtemp2.CreateCell(0).SetCellValue(i + 1);//序号
rowtemp2.CreateCell(1).SetCellValue(list[i].ApplyNo);
rowtemp2.CreateCell(2).SetCellValue(list[i].ApplyInfo);
rowtemp2.CreateCell(3).SetCellValue(list[i].ApplyDept);
rowtemp2.CreateCell(4).SetCellValue(list[i].oper_from_dt.Substring(0, 10));
rowtemp2.CreateCell(5).SetCellValue(list[i].oper_to_dt.Substring(0, 10));
rowtemp2.CreateCell(6).SetCellValue(list[i].guard_name);
rowtemp2.CreateCell(7).SetCellValue(list[i].guard_send_name);
rowtemp2.CreateCell(8).SetCellValue(list[i].oper_content);
var guardWorker=list[i].GuardWorker.TrimStart(',').TrimEnd(',');
rowtemp2.CreateCell(9).SetCellValue(guardWorker);
rowtemp2.CreateCell(10).SetCellValue(Split(guardWorker).Length);
}
}
MemoryStream ms = new MemoryStream();
book.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
- 当为Webform项目时
//输出Excel
string filename = "紧急入场统计" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Length", ms.Length.ToString());
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", Server.UrlEncode(filename)));
Response.BinaryWrite(ms.GetBuffer());
Response.Flush();
Response.End();
- 当为MVC项目时
MemoryStream ms = new MemoryStream();
book.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
return File(ms, "application/vnd.ms-excel", survey.Name + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls");
本文介绍如何利用C#与NPOI库来实现Excel文件的创建与导出功能。首先创建Excel文件对象并添加sheet,然后设置表头及数据内容,并通过内存流完成文件写入。最后根据不同项目类型(如Webform或MVC),提供相应的文件下载方式。
745

被折叠的 条评论
为什么被折叠?



