poi导入excel1、1.1等数字变成1.0、1.100000001的问题

一、遇到的问题:

今天使用poi操作excel时,发现1会变成1.0,有的小数会变成1.100000001;下面介绍一下解决方法。

二、poi获取序号方法存在的问题:

1.call.tostring:

整数序号通过call.tostring会自动加.0;如1会变1.0

String cellValueNum = sheet1.getRow(i).getCell(0).toString(); //num.tostring->1转1.0

带小数点的序号通过call.tostring获取的值正常;1.1还是1.1; 2.1.1还是2.1.1

所以call.tostring整数会改变。

2.如果先将cell.setCellType(CellType.STRING);后获取cell.getStringCellValue(); 此时,整数正常,但是1.1会变成1.1000001

三、解决方案:

既然方法1tostring可以处理整数,处理不了带.的;方法2能处理整数,处理不了带.的,那么我们可通过判断序号是否带.,选择不同的处理方案;

大致代码如下:

//不是日期格式,[转换为字符串输出]
       String cellstr = cell.toString();
       cell.setCellType(CellType.STRING);
       cellValue = cell.getStringCellValue();
       if(cellValue.indexOf(".") > -1) {
       cellValue = cellstr;
       }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值