Я пытался сделать условное форматирование для определенного диапазона ячеек Excel, используя Java, Apache poi.Для ячеек, имеющих значения ИСТИНА или ЛОЖЬ, фон должен быть установлен в определенный цвет на основе данных правил.Тот же код работал для чисел, когда форматирование на основе значений было применено во время записи файла.Пока я не обновлю каждую ячейку, выбрав их и дважды щелкнув, изменения не будут применены.Есть ли способ обновить весь лист, используя Java?
Попытался использовать функциюvaluAllFormulaCells () как XSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);
, но также не удалось внести какие-либо изменения.Метод условного форматирования выглядит следующим образом:
SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule(CFRuleRecord.ComparisonOperator.EQUAL, "FALSE");
PatternFormatting fill1 = rule1.createPatternFormatting();
fill1.setFillBackgroundColor(IndexedColors.RED.index);
fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule(CFRuleRecord.ComparisonOperator.EQUAL, "TRUE");
PatternFormatting fill2 = rule2.createPatternFormatting();
fill2.setFillBackgroundColor(IndexedColors.GREEN.index);
fill2.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
CellRangeAddress[] regions = {
CellRangeAddress.valueOf("AP1:BH47")
};
sheetCF.addConditionalFormatting(regions, rule1, rule2);