asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”
NPOI导出xlsx格式文件,会出现如下情况:
点击“是”:
导出代码如下:
/// <summary> /// 将datatable数据写入excel并下载 /// </summary> /// <param name="dt">datatable </param> /// <param name="excelName">文件名</param> /// <param name="templatePath">模板路径</param> /// <returns></returns> public static void DataTableToExcelAndDownload(DataTable dt, string excelName, string templatePath) { IWorkbook workbook = null; FileStream fs = null; IRow row = null; ISheet sheet = null; ICell cell = null; ICellStyle cellStyle = null; try { if (dt != null && dt.Rows.Count > 0) { var rowCount = dt.Rows.Count; //行数 var columnCount = dt.Columns.Count; //列数 using (fs = File.OpenRead(templatePath)) { //大批量数据导出的时候,需要注意这样的一个问题,Excel2003格式一个sheet只支持65536行,excel 2007 就比较多,是1048576 //workbook = new HSSFWorkbook(fs);//2003版本.xls workbook = new XSSFWorkbook(fs); // 2007版本.xlsx } if (workbook != null) { sheet = workbook.GetSheetAt(0); //读取第一个sheet //设置每行每列的单元格, for (var i = 0; i < rowCount; i++) { row = sheet.CreateRow(i + 1); for (var j = 0; j < columnCount; j+