apache poi读取百分比数字

6 篇文章 0 订阅
2 篇文章 0 订阅

需求说明:

最近用户给了一些基础数据,需要做导入操作,是临时性的,导一次就完事。但是有个字段“手续费”,里面既有百分比,又有绝对数值,还有带文字的数据。正常来说,这种不规范的数据,是不给导入的。但客户那边业务数据是这么填写的,一时半会也没法改。见下图

之前设计表单的时候,原本打算让用户录数字的,还好当时字段类型设置的是varchar2,字段没有设置成number,不然还得改字段类型。

但在poi里读数据的时候会发现,4.12%读到的结果是0.0412,像数字“36080”读取是正常的,字符“3万”读取也是正常的。读到的结果与excel单元格中显示的数据不一致。

网上查了一下,有关poi读百分比数字时会读到带小数点的数字的问题。碰到的情况比较简单,都是一列数据都是百分比的情形,基本上是说从代码中作下处理(https://blog.csdn.net/spp_1987/article/details/13770637 https://bbs.csdn.net/topics/390626242),觉得有点麻烦,只是临时导一下数据,没打算做成一个完善的功能。

解决方法:

由于数据量比较多,而且好几个字段都是类似的情况,不好一一去改excel中的数据。

后面转变了思路,想从excel工具层面来处理数据,就选中该字段下的所有数据的区域,批量转换为文本格式。这样在从cell中读到数据时就是原样的了

cell.setCellType(Cell.CELL_TYPE_STRING);
String temp0 = cell.getStringCellValue().trim();

我是直接采用string格式来读取该单元格的数据。

批量转换为文本格式的参考链接:https://zhidao.baidu.com/question/229887387.html

https://jingyan.baidu.com/article/5552ef4789d1a1518efbc96b.html

我用的方法是第二个链接里的第二种方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值