gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:20:50 26 4
gpt4 key购买 nike

我正在使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com