Настройка фонового пользовательского цвета, XSSFWorkbook - PullRequest
0 голосов
/ 07 ноября 2018

Я использую этот код для изменения шрифта в Excel на цвет, который я определяю

        Color sColor = new Color (value,0,0);
        XSSFColor userColor = new XSSFColor(sColor);

        CellStyle style = wb.createCellStyle();
        XSSFFont font = wb.createFont();

        font.setColor(userColor);
        style.setFont(font);
        cell.setCellStyle(style);

Можно ли таким же образом изменить фон ячейки.

Я видел вопрос здесь Настройка пользовательского цвета фона не работает для XSSF в Apache POI И я использовал код:

        XSSFCellStyle cellStyle = wb.createCellStyle();
        XSSFColor color = new XSSFColor(new java.awt.Color(value, 0, 0));
        ((XSSFCellStyle)cellStyle).setFillBackgroundColor(color);

        cell.setCellStyle(cellStyle);

Фон по-прежнему всегда белый.

Уверен, что все остальные части кода написаны правильно, потому что он работает, когда я изменил шрифт.

У меня офис 2010 на моем компьютере

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

спасибо всем Я нашел решение сейчас

        XSSFCellStyle cellStyle = wb.createCellStyle();

        XSSFColor color = new XSSFColor(new java.awt.Color(value, 0, 0));

        ((XSSFCellStyle)cellStyle).setFillBackgroundColor(color);
        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
        cellStyle.setFillForegroundColor(color); 
        cell.setCellStyle(cellStyle);
0 голосов
/ 08 ноября 2018

Создать объект стиля ячейки:

CellStyle backgroundStyle = workbook.createCellStyle(); 

Установить пользовательский цвет:

backgroundStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());

Добавить стиль в ячейку:

cell.setCellStyle(backgroundStyle);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...