读取Java中的Excel数值单元格值

当我读取excel数字单元格值时,我得到带小数的输出。例如:79读数为79.0,0.00读数为0.0。我编写的应用程序代码是:

int type = cell.getCellType();

if (type == HSSFCell.CELL_TYPE_NUMERIC)

System.out.println(cell.getNumericCellValue());

回答:

Stack Overflow上经常出现这个问题,因此建议您仔细阅读许多类似的问题,以找到答案!

Excel将文件格式中的几乎所有数字都存储为浮点值,这就是为什么POI会为您返回数字单元格的双精度数字,因为这就是真正的数字。如果希望它看起来像在Excel中一样,则需要将针对单元格定义的格式设置规则应用于该数字。因此,您想要做的事情与我在此处的回答完全相同。报价:

您要做的是使用DataFormatter类。您为此传递一个单元格,它会尽力返回一个字符串,其中包含Excel将对该单元格显示的内容。如果将字符串单元格传递给它,则将字符串取回。如果您向其传递一个应用了格式设置规则的数字单元格,它将根据它们格式化数字并返回字符串。

对于您的情况,我假设数字单元格已应用整数格式设置规则。如果您要求DataFormatter格式化这些单元格,它将返回一个包含整数字符串的字符串。

您需要做的只是:

// Only need one of these

DataFormatter fmt = new DataFormatter();

// Once per cell

String valueAsSeenInExcel = fmt.formatCellValue(cell);

以上是 读取Java中的Excel数值单元格值 的全部内容, 来源链接: utcz.com/qa/428303.html

回到顶部