Npoi導出,提示「部分內容有問題」,解決方案

webapi引入npoi類庫做導出,excel文件生成給客戶端,客戶端打開,有如下的提示

找了很多解決方案,大都千篇一律,最終還沒能解決問題

傳說1:在獲得 workbook.Write(ms) 生成的 MemoryStream 後,使用了 ms.GetBuffer() 返回文件內容,導致生成的 Excel 文件結尾處有大量的 00(空字節),改爲 ms.ToArray() 即可得到正常的文件了。

傳說2:因爲在導出前excel是由模板讀取的,可能會導致結果出現

個人導出的流程

經過各種嘗試,最終的解決方案是將Npoi的nuget包降級即可,之前用的是 2.5.1的版本,生成excel後,會提示「部分內容有問題」

降級到2.4.1後,不在提示,至少這麼做解決了本人的這個問題,備註一下,以供參考。