在使用Apache POI进行数据写入时,单元格格式化可在Excel单元格中删除小数点

我正在使用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); } 

我已经提到下面的url和其他几个网站,并找不到修复这个错误的方法。

  1. 链接1
  2. LINK2

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

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

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

从工作簿创build样式是最佳的方式,不会超载内存。

您还可以调整您的公式,以小数点后0位数进行舍入:

 =ROUND(A1,0)