.net MVC使用NPOI读取Excel模板,再写入数据

时间:2023-03-09 02:59:06
.net MVC使用NPOI读取Excel模板,再写入数据

  NPOI其实已经介绍的差不多了,再贴一个方便以后复制粘贴。

亮点其实是 Server.MapPath 这个东西,可以找到MVC工程下的文件夹,找路径还是很方便的。

   /// <summary>
/// 设备导出Excel表格
/// </summary>
public FileResult ExportExcel()
{
string fileDir = Server.MapPath("~/ReportTemplate/我的模板.xls");
FileStream Dir = new FileStream(fileDir, FileMode.Open, FileAccess.Read);
HSSFWorkbook workbook = new HSSFWorkbook(Dir);
ISheet sheet = workbook.GetSheet("sheet1");
MemoryStream ms = new MemoryStream(); DataTable table = EQEquipmentBLL.GetInstance().GetListForExport(""); for (int i = ; i < table.Rows.Count; i++)
{
sheet.GetRow(i).GetCell().SetCellValue(table.Rows[i-]["EqID"].ToString());
sheet.GetRow(i).GetCell().SetCellValue(table.Rows[i-]["EqName"].ToString());
sheet.GetRow(i).GetCell().SetCellValue(table.Rows[i-]["ProduceFactory"].ToString());
sheet.GetRow(i).GetCell().SetCellValue(table.Rows[i-]["Model"].ToString());
} sheet.ForceFormulaRecalculation = true; //强制计算Excel中的公式 workbook.Write(ms);
ms.Flush();
ms.Seek(, SeekOrigin.Begin);
return File(ms, "application/ms-excel", $"我的模板{DateTime.Now.ToString("D")}.xls");
}