C# MVC文件导出

17 篇文章 1 订阅
9 篇文章 0 订阅

MVC后台代码:

 public ActionResult GetExeclFile(string RId)
        {
            //获取当前省县码
            var districtCode = "";
            if (this.Is_SJPGMode())
            {
                districtCode = this.GetDistrictCodeByPgMode();
            }
            else
            {
                districtCode = UserInfo.DistrictCode;
            }
            //获取当前列头标题
            var titles = _indexService.GetTitleList(districtCode, int.Parse(SystemId)).Data;
            //获取需要导出的数据
            var list = _evaluationBll.GetExeclFile(RId);
            //创建导出对象
            NPOI.HSSF.UserModel.HSSFWorkbook execl = new NPOI.HSSF.UserModel.HSSFWorkbook();
            //3、添加一个sheet
            NPOI.SS.UserModel.ISheet sheet = execl.CreateSheet("Sheet1");
            //给sheet1添加标题行
            NPOI.SS.UserModel.IRow head = sheet.CreateRow(0);
            //标题
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName))
            {
                head.CreateCell(0).SetCellValue(titles[0].RemarkName);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName2))
            {
                head.CreateCell(1).SetCellValue(titles[0].RemarkName2);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName3))
            {
                head.CreateCell(2).SetCellValue(titles[0].RemarkName3);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName4))
            {
                head.CreateCell(3).SetCellValue(titles[0].RemarkName4);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName5))
            {
                head.CreateCell(4).SetCellValue(titles[0].RemarkName5);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName6))
            {
                head.CreateCell(5).SetCellValue(titles[0].RemarkName6);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName7))
            {
                head.CreateCell(6).SetCellValue(titles[0].RemarkName7);
            }
            if (!string.IsNullOrWhiteSpace(titles[0].RemarkName8))
            {
                head.CreateCell(7).SetCellValue(titles[0].RemarkName8);
            }
            head.CreateCell(8).SetCellValue("督查时间");
            head.CreateCell(9).SetCellValue("评估结果");
            head.CreateCell(10).SetCellValue("专家意见");
            //循环写入表格所需内容
            for (int i = 0; i < list.Count; i++)
            {

                NPOI.SS.UserModel.IRow row = sheet.CreateRow(i + 1);
                if (!string.IsNullOrWhiteSpace(list[i].EvaIndex))
                {
                    row.CreateCell(0).SetCellValue(list[i].EvaIndex);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark))
                {
                    row.CreateCell(1).SetCellValue(list[i].Remark);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark1))
                {
                    row.CreateCell(2).SetCellValue(list[i].Remark1);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark2))
                {
                    row.CreateCell(3).SetCellValue(list[i].Remark2);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark3))
                {
                    row.CreateCell(4).SetCellValue(list[i].Remark3);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark4))
                {
                    row.CreateCell(5).SetCellValue(list[i].Remark4);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark5))
                {
                    row.CreateCell(6).SetCellValue(list[i].Remark5);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark6))
                {
                    row.CreateCell(7).SetCellValue(list[i].Remark6);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark7))
                {
                    row.CreateCell(8).SetCellValue(list[i].Remark7);
                }
                if (!string.IsNullOrWhiteSpace(list[i].Remark8))
                {
                    row.CreateCell(9).SetCellValue(list[i].Remark8);
                }

                row.CreateCell(10).SetCellValue(list[i].EvaTime);
                row.CreateCell(11).SetCellValue(list[i].Result);
                row.CreateCell(12).SetCellValue(list[i].Opinion);
            }
  
            // 写入到客户端 
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            execl.Write(stream);
            stream.Seek(0, SeekOrigin.Begin);
            string fileName = "导出信息.xls";
            return File(stream, "application/vnd.ms-excel", fileName);

        }

前端Layui写法:

 window.open('@Url.Action("GetExeclFile")' + '?RId=' + RId);
非常感谢您的提问!以下是 .NET MVC 使用 EPPlus 导出 Excel 的控制器视图全步骤: 1. 首先,您需要下载并安装 EPPlus 库,您可以在 NuGet 中搜索并安装 EPPlus。 2. 创建一个控制器类,您可以在其中创建一个 ActionResult 方法,用于生成 Excel 文件。 3. 在方法中,初始化 ExcelPackage 对象,您可以使用以下代码: ```C# ExcelPackage.LicenseContext = LicenseContext.NonCommercial; ExcelPackage excelPackage = new ExcelPackage(); ``` 这将为您提供一个未激活的 ExcelPackage 对象,可以编辑并生成 Excel 文件。 4. 创建一个工作簿和一个工作表,并向工作表添加标题和数据。您可以使用以下代码示例: ```C# var worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1"); worksheet.Cells[1, 1].Value = "Name"; worksheet.Cells[1, 2].Value = "Age"; worksheet.Cells[2, 1].Value = "John Doe"; worksheet.Cells[2, 2].Value = "33"; ``` 这将在工作表中添加标题和一些数据。 5. 导出 Excel 文件并将其作为文件流返回给用户,您可以使用以下代码: ```C# using (var memoryStream = new MemoryStream()) { excelPackage.SaveAs(memoryStream); memoryStream.Position = 0; var fileName = "data.xlsx"; var fileType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; return File(memoryStream, fileType, fileName); } ``` 这将在内存中创建 Excel 文件并将其作为文件流返回给用户。 希望这个步骤对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值