解决 EasyExcel BigDecimal 加%的问题

news/2024/11/13 5:32:33/

1.看很多资料还是有问题 于是想到可以用转换器来实现
这是原来的方式

    @NumberFormat(value = "#.##%")private BigDecimal proportion;

请看大屏幕

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.alibaba.excel.util.NumberUtils;import java.math.BigDecimal;
import java.text.ParseException;
public class BigDecimalAddPercentConverter implements Converter<BigDecimal> {public BigDecimalAddPercentConverter() {}public Class<BigDecimal> supportJavaTypeKey() {return BigDecimal.class;}public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}public BigDecimal convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws ParseException {return NumberUtils.parseBigDecimal(cellData.getStringValue(), contentProperty);}public WriteCellData<?> convertToExcelData(BigDecimal value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {return new WriteCellData<>(value+"%");}
}

其实也很简单哈
修改后的

	@ExcelProperty(converter = BigDecimalAddPercentConverter.class)private BigDecimal proportion;

http://www.ppmy.cn/news/1523203.html

相关文章

Linux下使用crontab配置定时任务

文章目录 Linux使用crontab安装crontab启动crontab查看定时任务创建定时任务配置案例配置语法位置含义符号含义 注意 取消定时任务 Linux使用crontab crontab为Linux下的计划任务程序&#xff0c;对应的服务为crond。crond是一个守护进程&#xff0c;每分钟会定期检查是否有要…

MybatisPlus 快速入门

目录 简介 安装 Spring Boot2 Spring Boot3 Spring 配置 Spring Boot 工程 Spring 工程 常见注解 条件构造器 流式查询 使用示例 批量操作 使用示例 自定义SQL Service接口 CRUD 扩展功能 代码生成 安装插件 通用枚举 配置枚举处理器 插件功能 配置示例…

【Hot100】LeetCode—763. 划分字母区间

目录 1- 思路哈希表 双指针 2- 实现⭐763. 划分字母区间——题解思路 3- ACM 实现 原题链接&#xff1a;763. 划分字母区间 1- 思路 哈希表 双指针 ① 找到元素最远的出现位置&#xff1a;哈希表② 根据最远出现位置&#xff0c;判断区间的分界线&#xff1a;双指针 实现 …

Open CASCADE学习|按圆离散旋转体

旋转体是一个非常重要的概念&#xff0c;它涉及到三维空间中由二维曲线绕某一轴线旋转形成的立体形状。这种旋转体的形成过程&#xff0c;实际上是一个连续变化的动态过程&#xff0c;但在数学和几何学中&#xff0c;我们往往通过静态的方式来描述和研究它。 旋转体的基本特性…

数据手套横向对比:4款手套哪款适合您?

数据手套是与虚拟物体交互、记录手部动作以及制作手部动画的重要工具。数据手套根据类别可分为只传输动作数据的数据手套&#xff0c;拥有触觉震动反馈的触觉手套&#xff0c;带有外骨骼的力反馈手套等。这些手套根据功能性的不同可分别应用于不同行业之中&#xff0c;在本文中…

【个人博客hexo版】npm安装hexo时会出现的一些问题

目录 bug1 关于缓存地址和全局变量1.删除C:\Users\用户\下的.npmrc文件2.重新设置淘宝镜像 bug2 需要管理员权限解决办法 bug1 关于缓存地址和全局变量 之前修改过缓存地址和全局变量&#xff0c;卸载又安装了新版的nodejs&#xff0c;安装hexo时会弹出之前的缓存地址&#xf…

【自用20.】C++析构函数

作用 对象销毁前&#xff0c;做清理工作。 具体的清理工作&#xff0c;一般和构造函数对应 比如&#xff1a;如果在构造函数中&#xff0c;使用new分配了内存&#xff0c;就需在析构函数中用delete释放。 如果构造函数中没有申请资源&#xff08;主要是内存资源&#xff09…

智能新纪元:GPT-Next引领的AI革命及其跨领域应用

GPT-Next&#xff1a;性能的百倍提升 在当今这个科技日新月异的时代&#xff0c;人工智能&#xff08;AI&#xff09;无疑是最具活力和变革性的领域之一。最近&#xff0c;OpenAI在KDDI峰会上宣布了一项激动人心的消息&#xff1a;他们即将推出名为“GPT-Next”的新一代语言模…