前言
实际业务中,业务部门总有各种苛刻的要求,于是就开始了斗智斗勇节奏。。。
X:这数字怎么不是数值类型的?
我:数值和文本有什么区别吗?
X:当然有区别,我们要快速看总和、平均值等等
我:好。。。So Easy!!@Excel 设置type=10,很快就实现了
X:这数值太长了,数不过来,能不能加'逗号'分隔一下
我:So Easy!!于是我加了Format格式化数字。。。
于是,问题就来了,导出的Excel 数字又变成文本,例如:16,888,888 , 没错,它确实是个文本,没毛病,不反驳
整体总结有3种情况:
普通数值类型(不格式化)
格式化数值类型
模板导出数值类型(格式化)
解决方案
一、普通数值类型(不格式化)
只需@Excel 添加type=10即可实现
二、格式化数值类型
思路大致如下:
重新定义CellStyle,继承ExcelExportStylerDefaultImpl,重写方法即可
ExportParams设置样式
@Excel 标识类型
// EXCEL_COVERT_MONEY 是自己定义的标识符
@Excel(name = "测试数值类型", dict = SystemParam.EX