ASP.NET MVC导出EXCEL
1、引用NPOI插件(NuGet程序包下载)
2、将要导出的数据查询出来,创建表格,最后输出数据(实例演示)
(1)我这里是根据前台传日期到控制器方法来查询到数据并生成EXCEL表格
(2)实例演示
public ActionResult Excel(string StartDate, string EndDate)
{
DateTime startDate = Convert.ToDateTime(StartDate);
DateTime endDate = Convert.ToDateTime(EndDate);
//根据日期查询数据
var listRole = db.YBY_SalesSettlements.Where(p => p.TwoDate>=startDate&&p.TwoDate<=endDate );
List<YBY_SalesSettlements> listExaminee = listRole.ToList();//讲查询出来的数据转化为对象列表的格式
HSSFWorkbook excelBook = new HSSFWorkbook();//创建工作簿Excel
NPOI.SS.UserModel.ISheet sheet = excelBook.CreateSheet("销售账单报表");//为工作簿创建工作表并命名
NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);//创建第一行
row.CreateCell(0).SetCellValue("收款编号");//创建其他列并赋值
row.CreateCell(1).SetCellValue("预款日期");
row.CreateCell(2).SetCellValue("结款日期");
row.CreateCell(3).SetCellValue("销售编号");
row.CreateCell(4).SetCellValue("应收金额");
row.CreateCell(5).SetCellValue("预付金额");
row.CreateCell(6).SetCellValue("结款金额");
row.CreateCell(7).SetCellValue("经手人");
for (int i = 0; i < listRole.Count(); i++)
{
NPOI.SS.UserModel.IRow rowTemp = sheet.CreateRow(i + 1);//创建行(根据具体数据写代码)
rowTemp.CreateCell(0).SetCellValue(listExaminee[i].SettlementNO.ToString());
rowTemp.CreateCell(1).SetCellValue(listExaminee[i].SettlementDate.ToString());
rowTemp.CreateCell(2).SetCellValue(listExaminee[i].TwoDate.ToString());
rowTemp.CreateCell(3).SetCellValue(listExaminee[i].YBY_Sales.SalesNo.ToString());
rowTemp.CreateCell(4).SetCellValue(listExaminee[i].Amount_Receivable.ToString());
rowTemp.CreateCell(5).SetCellValue(listExaminee[i].Paid_Amount.ToString());
rowTemp.CreateCell(6).SetCellValue(listExaminee[i].Uncollected_Amount.ToString());
rowTemp.CreateCell(7).SetCellValue(listExaminee[i].Person.ToString());
}
var fileName = "销售账单报表" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";//文件名
//将Excel表格转化为流,输出
MemoryStream bookStream = new MemoryStream();//创建文件流
excelBook.Write(bookStream);//文件写入流(向流中写入字节序列)
bookStream.Seek(0, SeekOrigin.Begin);//输出之前调用Seek,把0位置指定为开始位置
return File(bookStream, "application/vnd.ms-excel", fileName);//最后以文件形式返回
}
本文介绍如何在ASP.NET MVC应用中使用NPOI插件实现数据导出至Excel的功能,通过具体代码示例展示了从数据库查询数据,并将其转换为Excel表格的过程。
149

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



