微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取具有POI的Excel单元格的实际单元格值,而不定义数据types

我从这样的.xls文件中捕获我的单元格:

cell.getStringCellValue();

但是由于一些单元格是数字的,我必须这样做:

try { cells[colIx] = cell.getStringCellValue(); } catch (IllegalStateException e) { cells[colIx] = String.valueOf(cell.getNumericCellValue()); }

因为它得到一个double,然后将其转换为一个string,这会导致一些不需要的操作,如:

1转换成1.0(这不是一个大问题)

16711680转换为1.671168E7

我如何解决这个问题,并获得实际的单元格值,而不是一些转换的数字? 另外,所有的单元格在excel中都被定义为认值

PHP的 – 需要一个cron的用户注册后台处理…(或叉进程)

我怎样才能mod_rewrite和保持查询string?

PHP尝试使用preg_match和preg_replace分配127 TB的内存和内存泄漏

PHP:权限被拒绝,尽pipe适当的权限

linux的msmtpconfiguration从shell发送,但是从PHP / apache失败

从access.log获取前20个IP – 按IPsorting – 添加用户代理

将子文件夹redirect到root并将其隐藏在url中

dynamic颠覆通过子域(在Apache中)

使用错误版本的PHP的OSX Apache

在java中处理X-FORWARDED-PROTO apache-tomcat

您可以使用Apache POI DataFormatter的formatCellValue(Cell cell)方法,因为它将字符串的格式化值作为字符串返回,而不考虑单元格类型。

根据DataFormatter doc –

DataFormatter包含用于格式化存储在单元格中的值的方法。 当您需要按照Excel中显示的数据显示数据时,这对于报告和GUI演示非常有用。 支持的格式包括货币,SSN,百分比,小数点,日期,电话号码,邮政编码等。

示例代码

DataFormatter dataFormatter= new DataFormatter(); // Inside loop String cellValueStr = dataFormatter.formatCellValue(cell);

尝试使用cell.getCellType(),因为你有

数字

日期

数字在科学记数法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐