Формат отрицательной валюты устанавливается с помощью 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 работает правильно с отрицательными числами. Он не использует красный цвет, но форматирование правильное