Domanda

Voglio creare un Excel con Apache POI in Java e devo inserire in una cella una formula: A3 = B3 + C3.

È possibile inserire un'altra formula in A3 che colora la cella se il suo valore è > 0?

Uso Apache POI 2.5.1

È stato utile?

Soluzione

Avrai bisogno di una formattazione condizionale .

Da questo 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);

che crea una cella con uno sfondo rosso per i valori > = 100. Che è quasi ciò che vuoi :-)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top