首页 > 解决方案 > Apache POI 单元格样式在 Linux 环境中不起作用

问题描述

使用 Apache POI 设置负货币格式:

CellStyle negativeCurrencyCellStyle = workbook.createCellStyle();
negativeCurrencyCellStyle.setDataFormat((short)8);

这是"$#,##0.00_);[Red]($#,##0.00)" 我将负双精度值传递给单元格值并应用上述单元格样式

cell.setCellValue(value);
cell.setCellStyle(negativeCurrencyCellStyle);

在 Windows 环境中,该样式完美运行,我变红($double_value),Excel 中的格式设置为货币。但是在 Linux 环境中,负数存储为文本,红色字体颜色不适用。任何想法如何使这项工作?我不想使用自定义样式,我需要将此数字格式化为货币。谢谢!

编辑: excel 文件在 Linux 中生成并在 Windows 中打开。我正在使用 Java 11 和 POI 3.17。

似乎 POI 格式 7 可以正确处理负数。它不使用红色,但格式正确

标签: javaexcellinuxformattingapache-poi

解决方案


推荐阅读