1. 前言
在使用easyExcel导出Excel中 发现 long类型的数据格式精度丢失了
问题如下
尾数都成了00000 精度发生了丢失
2. 解决
- 将long类型的字段转成String 写入到Excel中
- 增加解析器 LongStringConverter 例如
/**
* 文件导出
*
* @param outputStream outputStream
* @param clazz clazz
*/
public static void writeExcel2OutputStream(OutputStream outputStream, Class<?> clazz, List<?> data) throws IOException {
// 直接用浏览器或者用postman
// 这里URLEncoder.encode可以防止中文乱码
EasyExcel.write(outputStream, clazz).sheet("sheet1").registerConverter(new LongStringConverter()).doWrite(data);
}