NPOI 創建 Excel 出錯“此文件中的某些文本格式可能已經更改,因為它已經超出最多允許的字體數。關閉其他文檔再試一次可能有用。”
NPOI 是從 POI 發展來的,POI 是 Java 平台下操作 Word、Excel 的類庫,NPOI 是 .NET 2.0 平台下操作 Excel 的類庫(Word 沒開發下去)。
用 NPOI 操作 Excel 優點是:速度很快,比 Office 接口快多了,且不需要安裝 Office;功能強,比如合並單元格、設置字體、設置邊框、設置打印等。
NPOI 在創建 Excel 時遇到大數據時,打開 Excel 出錯:
“此文件中的某些文本格式可能已經更改,因為它已經超出最多允許的字體數。關閉其他文檔再試一次可能有用。”
這是由於 NPOI 在 Excel 中創建了過多的字體造成的,就是 Workbook.CreateFont() 那句,可能被頻繁調用了。注意,即使 CreateFont 創建的對象,沒有使用,也是存在起來了的。
所以,如果字體是一樣的,就不要再繼續創建新的 NPOI.SS.UserModel.Font 了,直接用上次創建的吧。