Pregunta

Quiero crear un Excel con Apache POI en Java y debo insertar en una celda una fórmula: A3 = B3 + C3.

Es posible insertar otra fórmula en A3 que colorea la celda si su valor es > 0?

Uso Apache POI 2.5.1

¿Fue útil?

Solución

Necesitará un formato condicional .

De este documento:

 // 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);

que crea una celda con un fondo rojo para los valores > = 100. Que es casi lo que quieres :-)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top