C#后台导出Excel文件
必须为继承Controller的类:
Layui接口返回字符串数据:res
JObject jr = (JObject)JsonConvert.DeserializeObject(res);
JArray data = (JArray)JsonConvert.DeserializeObject(jr["data"].ToString());
NPOI.SS.UserModel.IWorkbook workbook = new NPOI.XSSF.UserModel.XSSFWorkbook();//表
NPOI.SS.UserModel.ISheet sheet = workbook.CreateSheet("导出文件名");//工作簿
NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);//表头行
string[] cellName1 = { "列1", "列2","列3", "列4"};//定义表头
//写表头
for (int i = 0; i < cellName1.Length; i++)
{
row.CreateCell(i).SetCellValue(cellName1[i]);
}
//写内容
if (data.Count >0)
{
for(int i = 0; i < data.Count; i++)
{
row = sheet.CreateRow(i + 1); //创建行,序号若为0则会覆盖已写好的表头行
row.CreateCell(0).SetCellValue(data[i]["columns_a"].ToString());
row.CreateCell(1).SetCellValue(data[i]["columns_b"].ToString());
row.CreateCell(2).SetCellValue(data[i]["columns_c"].ToString());
row.CreateCell(3).SetCellValue(data[i]["columns_d"].ToString());
}
}
using (MemoryStream ms = new MemoryStream())
{
workbook.Write(ms);
var buffer = ms.GetBuffer();
ms.Close();
return File(buffer, "application/ms-excel", "导出文件名.xlsx");
}

浙公网安备 33010602011771号