今天在使用JXLS导出Excel的时候有一列是日期类型,这个字段在系统中存储的是时间戳格式,在Excel中需要展示成用户可读形式,因此需要在导出Excel的时候做转换。一般遇到这种情况,可以用以下几种方式:
- 重新定义一个字段或者一个类,优点是快速解决本次问题,缺点是只解决本次问题,对下次遇到问题没有帮助,且代码重复不优雅。
- 设置Excel单元格格式,通常可以解决一些问题,但是有时候数据和格式对应不上,不具有通用性
- 写自定义转换器,在Excel生成时回调转换器中的方法,灵活自由,通用性更高。
为了以后遇到同类问题节省开发时间、代码更通用,我们本次采用第3种方法解决。
image.png
image.png
生成的结果如下:
image.png
发现“出生日期”这列里没有值,排查问题
image.png
image.png
image.png
image.png
定位到原因,原来是方法的类必须是public方法才生效。
生成Excel如下:
image.png