Как добавить разные цвета для каждого листа в Excel, используя Apache POI - PullRequest
0 голосов
/ 10 октября 2019

Если у вас есть несколько рабочих листов в рабочей книге, вы обычно нажимаете на имя листа внизу страницы, чтобы просмотреть его. Мой вопрос заключается в том, чтобы узнать, может ли эта «кнопка», содержащая название листа, принять цвет, такой как синий, зеленый и так далее.

    XSSFWorkbook wb = new XSSFWorkbook(); 
    XSSFSheet sheet = wb.createSheet(); 
    CTColor color = CTColor.Factory.newInstance(); 
    color.setIndexed(IndexedColors.RED.getIndex()); 
    sheet.getCTWorksheet().getSheetPr().setTabColor(color); 

Я пробовал выше, но бесполезно

        try (XSSFWorkbook wb = new XSSFWorkbook()) {

        XSSFSheet sheet1 = wb.createSheet("1e");



        XSSFSheet sheet = wb.createSheet("1econtent");
        XSSFFont font = wb.createFont();
        font.setFontHeightInPoints((short) 15);
        font.setColor(IndexedColors.WHITE.getIndex());

        How can I add different colours sheet and sheet1 in workbook

1 Ответ

0 голосов
/ 10 октября 2019

Пожалуйста, сделайте это следующим образом:

sheet.setTabColor(IndexedColors.RED.getIndex());

Пожалуйста, проверьте https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/IndexedColors.html для более подробной информации.

РЕДАКТИРОВАТЬ:

Пожалуйста, сделайте это следующим образом с последней версией Apache POI:

byte[] rgb=DefaultIndexedColorMap.getDefaultRGB(IndexedColors.RED.getIndex());
sheet.setTabColor(new XSSFColor(rgb,null));
...