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);