ASP.NET MVC导出EXCEL

本文介绍如何在ASP.NET MVC应用中使用NPOI插件实现数据导出至Excel的功能,通过具体代码示例展示了从数据库查询数据,并将其转换为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);//最后以文件形式返回
        }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值