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