java - 使用 Apache POI 写入数据时,单元格格式化以删除 Excel 单元格中的小数点

标签 java excel spring apache-poi

我正在使用 Apache POI 将 Excel 函数写入单元格并评估该函数。我需要做的是从单元格中删除所有小数点。目前,它在每个单元格值的末尾得到不必要的两个零。单元格格式如下。但最后总是得到两个零。

     XSSFCellStyle cellStyle = cell.getCellStyle();
     DataFormat df = workbook.createDataFormat();
     cellStyle.setDataFormat(df.getFormat("###,##0"));
     cell.setCellStyle(cellStyle);


     if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
          evaluator.evaluateFormulaCell(cell);
      }

我引用了以下网址和其他几个网站,但找不到修复该错误的方法。

  1. link1
  2. link2

注意 我正在使用 Apache POI 版本 3.14 和 Spring 4.3.1.RELEASE。

最佳答案

尝试为工作簿创建单元格样式,并将此样式以"#,##0"数字格式应用于列中的所有单元格:

CellStyle style = workbook.createCellStyle();
DataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat("#,##0"));
cell.setCellStyle(style);

从工作簿创建样式是最佳方法,并且不会造成内存过载。

您还可以调整公式,将数字四舍五入到小数点后 0 位:

=ROUND(A1,0)

关于java - 使用 Apache POI 写入数据时,单元格格式化以删除 Excel 单元格中的小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43575608/

相关文章:

java - 克服 Java 中的不当发布

excel - 如何在Excel中的单元格中的数字范围内搜索?

c# - 为什么 OpenXML 读取行两次

java - 如何构建JPA实体和JSON模型?

java - 使用封装时是否有一些共享方法行为的技巧?

java - 在 Linux 中开发有吸引力的图形用户界面

java - 具有基于 Java 的配置的 Spring MVC - 找不到静态资源的 404

java - 在存储库中返回空点异常 - Spring Boot

java - Scala:将 java 接口(interface)移植到 scala

vba - Excel/VBA : Check if Cell Reference returns 0