使用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)
大家如若还有其他方式 欢迎交流