.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 = 2; i < table.Rows.Count; i++)
            {    
                sheet.GetRow(i).GetCell(0).SetCellValue(table.Rows[i-2]["EqID"].ToString());
                sheet.GetRow(i).GetCell(1).SetCellValue(table.Rows[i-2]["EqName"].ToString());
                sheet.GetRow(i).GetCell(2).SetCellValue(table.Rows[i-2]["ProduceFactory"].ToString());
                sheet.GetRow(i).GetCell(3).SetCellValue(table.Rows[i-2]["Model"].ToString());
            }

            sheet.ForceFormulaRecalculation = true;  //强制计算Excel中的公式


            workbook.Write(ms);
            ms.Flush();
            ms.Seek(0, SeekOrigin.Begin);
            return File(ms, "application/ms-excel", $"我的模板{DateTime.Now.ToString("D")}.xls");
        }

 

  

 

posted @ 2018-07-16 18:21  蜀云泉  阅读(592)  评论(3编辑  收藏  举报