Использование пользовательских цветов XSSF в условном форматировании?

У меня была рабочая книга HSSF с моими собственными цветами, но теперь оказалось, что мне нужно использовать XSSF для создания файлов xslx.

Я изменил все соответственно, но единственное, что меня поставило в тупик, это то, как использовать сделанный на заказ XSSFColor примерно так:

XSSFPatternFormatting YesForm = YesRule.createPatternFormatting(); YesForm.setFillBackgroundColor(IndexedColors.GREEN.getIndex());

Это работало нормально, когда у меня был собственный поддон, но у xssf, похоже, нет ничего подобного, или я ошибаюсь?

Заранее спасибо.


person Pod    schedule 19.06.2013    source источник


Ответы (2)


Я тоже пытался выяснить это, и, насколько я могу судить, это может быть невозможно.

Вот сообщение об ошибке в этой теме:

http://mail-archives.apache.org/mod_mbox/poi-dev/201407.mbox/%[email protected]/bugzilla/%3E

Предлагаемый в настоящее время ответ wobblycogs не касается исходного вопроса, поскольку он не связан с условным форматированием (установить цвет в отдельной ячейке достаточно просто, но это не вопрос ОП).

person jeffderrick    schedule 27.03.2015

Я думаю, что, вероятно, вы хотите что-то вроде этого:

XSSFCellStyle style1 = wb.createCellStyle();
style1.setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128)));
style1.setFillPattern(CellStyle.SOLID_FOREGROUND);
cell.setCellStyle(style1);

Просто определите свои стили заранее, а затем раскрасьте ими любые ячейки, которые вы хотите. Я лучше всего знаком с генерацией HSSF, но я использовал это пару раз с XSSF, и это работает хорошо.

person wobblycogs    schedule 19.06.2013
comment
OP хочет использовать пользовательские цвета при условном форматировании. Ваш ответ касается способа изменения цвета произвольной ячейки. - person Martin Fernau; 22.05.2015
comment
Как указано выше: условное форматирование — это не то же самое, что установка стиля ячейки. - person Necrototem; 05.09.2016