1. 程式人生 > >NPOI 匯入匯出和Excel版本,錯誤副檔名和檔案的格式不匹配

NPOI 匯入匯出和Excel版本,錯誤副檔名和檔案的格式不匹配

讀取時可以自動判斷Excel版本

 IWorkbook workbook = NPOI.SS.UserModel.WorkbookFactory.Create(fs); 

呼叫這個方法,內部自動判斷Excel的版本

匯出時:

2003之前的版本是

 IWorkbook workbook = new HSSFWorkbook();//// 2003版本

ContentType是application/vnd.ms-excel

2003之後的版本是

Workbook workbook = new XSSFWorkbook();//2007版本

ContentType是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

如果寫錯了,使用office開啟會提示,副檔名和檔案的格式不匹配,但使用WPS開啟不會提示。

發現“中轉費2018-10-14--20181016140243.xlsx”中的部分內容有問題。是否讓我們儘量嘗試恢復? 如果您信任此工作簿的源,請單擊“是”。解決方法參考

核心是

 MemoryStream ms = new MemoryStream();
workbook.Write(ms);
 ms.Close();
ms.Dispose();
System.Web.HttpContext.Current.Response.End();