Apache POI Цветная ячейка с формулой - PullRequest
2 голосов
/ 06 мая 2009

Я хочу создать Excel с Apache POI в Java, и я должен вставить в ячейку формулу: A3 = B3 + C3.

Можно ли вставить другую формулу в A3, которая окрашивает ячейку, если его значение> 0?

Я использую Apache POI 2.5.1

1 Ответ

9 голосов
/ 06 мая 2009

Вам понадобится условное форматирование .

Из этого документа:

 // Define a Conditional Formatting rule, which triggers formatting
 // when cell's value is greater or equal than 100.0 and
 // applies patternFormatting defined below.
 HSSFConditionalFormattingRule rule = sheet.createConditionalFormattingRule(
     ComparisonOperator.GE, 
     "100.0", // 1st formula 
     null     // 2nd formula is not used for comparison operator GE
 );

 // Create pattern with red background
 HSSFPatternFormatting patternFmt = rule.cretePatternFormatting();
 patternFormatting.setFillBackgroundColor(HSSFColor.RED.index);

 // Define a region containing first column
 Region [] regions =
 {
     new Region(1,(short)1,-1,(short)1)
 };

 // Apply Conditional Formatting rule defined above to the regions  
 sheet.addConditionalFormatting(regions, rule);

, которая создает ячейку с красным фоном для значений> = 100. Это почти то, что вам нужно: -)

...