读取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 theseDataFormatter fmt = new DataFormatter();
// Once per cell
String valueAsSeenInExcel = fmt.formatCellValue(cell);
以上是 读取Java中的Excel数值单元格值 的全部内容, 来源链接: utcz.com/qa/428303.html