我正在使用 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);
}
我引用了以下网址和其他几个网站,但找不到修复该错误的方法。
注意 我正在使用 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/