使用easyexcel遇到的坑
easyexcel導出文件報錯NullPointerException
使用easyexcel導出excel文件的時候,本地正常導出,運行至服務器上導出異常
服務器報錯日志:java.lang.NullPointerException: null at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
網上查了很久,issues中出現過該問題,可參考:https://github.com/alibaba/easyexcel/issues/157
總結解決該問題有三種方式:
-
把JDK版本由Open JDK換成Oracle JDK
-
報上述錯誤是因為對應linux上無對應字體,可以安裝對應字體 另導出樣式可通過WriteCellStyle設置字體
我們是使用的docker,因此在dockerfile中加上下面一句即可,如果是在linux上操作,可以使用yum 安裝
RUN apk add --update --no-cache ttf-dejavu fontconfig
- 更換excel導出方式(poi或hutool)
大家如若還有其他方式 歡迎交流