小编use*_*942的帖子

Apache POI DataFormatter返回科学记数法

我有一个xlsx文件,我正在阅读java 6中的apache poi 3.17.在一个实例中,我有一个值为123456789011的单元格.这被读入java作为NUMERIC CellTypeEnum Cell.当我使用DataFormatter获取单元格的值时,如下所示:

DataFormatter formatter = new DataFormatter(Locale.US); String strVal = formatter.formatCellValue(cell);

字符串值为"1.234567 + 11".我需要单元格中的实际值"123456789011".我怎么能得到它?

我已经尝试在Java中使用BigDecimal转换字符串,但返回"123456700000",因为这是给定信息的最佳效果; 意思是我需要从实际的单元格对象中获取正确的值.我也尝试使用cell.getNumericCellValue()但是它返回一个double,它的限制太小而无法处理原始值,因此它被检索为"1.234567E11",它与其他检索方法具有相同的问题.

有没有办法从原始Cell中获取值作为字符串,因为它是在xlsx中输入的?我对原来的xlsx没有任何威力.

谢谢.

java excel apache-poi

4
推荐指数
1
解决办法
2985
查看次数

标签 统计

apache-poi ×1

excel ×1

java ×1