FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(1,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(1,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(2.0, a3.getNumericCellValue(), 0);
+ assertEquals(2.0, b4.getNumericCellValue(), 0);
assertEquals(8.0, a6.getNumericCellValue(), 0);
assertEquals(3.0, a7.getNumericCellValue(), 0);
assertEquals(3.0, a8.getNumericCellValue(), 0);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(9,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(9,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(4.0, a3.getNumericCellValue(), 0);
+ assertEquals(4.0, b4.getNumericCellValue(), 0);
assertEquals(26.0, a6.getNumericCellValue(), 0);
assertEquals(12.0, a7.getNumericCellValue(), 0);
assertEquals(12.0, a8.getNumericCellValue(), 0);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(2,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(2,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue("POI"); // A4 is string and not counted
/*Cell a5 =*/ sh.createRow(5).createCell(1); // A5 is blank and not counted
fe.evaluateAll();
- assertEquals(2.0, a3.getNumericCellValue(), 0);
+ assertEquals(2.0, b4.getNumericCellValue(), 0);
assertEquals(6.0, a6.getNumericCellValue(), 0);
assertEquals(2.0, a7.getNumericCellValue(), 0);
assertEquals(2.0, a8.getNumericCellValue(), 0);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(3,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(3,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue("POI"); // A4 is string and not counted
/*Cell a5 =*/ sh.createRow(5).createCell(1); // A5 is blank and not counted
fe.evaluateAll();
- assertEquals(2.0, a3.getNumericCellValue(), 0);
+ assertEquals(2.0, b4.getNumericCellValue(), 0);
assertEquals(8.0, a6.getNumericCellValue(), 0);
assertEquals(3.0, a7.getNumericCellValue(), 0);
assertEquals(3.0, a8.getNumericCellValue(), 0);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(4,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(4,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(3.0, a3.getNumericCellValue(), 0);
+ assertEquals(3.0, b4.getNumericCellValue(), 0);
assertEquals(16.0, a6.getNumericCellValue(), 0);
assertEquals(7.0, a7.getNumericCellValue(), 0);
assertEquals(7.0, a8.getNumericCellValue(), 0);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(5,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(5,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(1.0, a3.getNumericCellValue(), 0);
+ assertEquals(1.0, b4.getNumericCellValue(), 0);
assertEquals(4.0, a6.getNumericCellValue(), 0);
assertEquals(1.0, a7.getNumericCellValue(), 0);
assertEquals(1.0, a8.getNumericCellValue(), 0);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(7,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(7,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(1.41421, a3.getNumericCellValue(), 0.00001);
+ assertEquals(1.41421, b4.getNumericCellValue(), 0.00001);
assertEquals(7.65685, a6.getNumericCellValue(), 0.00001);
assertEquals(2.82842, a7.getNumericCellValue(), 0.00001);
assertEquals(2.82842, a8.getNumericCellValue(), 0.00001);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(8,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(8,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(1.0, a3.getNumericCellValue(), 0.00001);
+ assertEquals(1.0, b4.getNumericCellValue(), 0.00001);
assertEquals(6.898979, a6.getNumericCellValue(), 0.00001);
assertEquals(2.44949, a7.getNumericCellValue(), 0.00001);
assertEquals(2.44949, a8.getNumericCellValue(), 0.00001);
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(10,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(10,B2:B3)");
Cell a4 = sh.createRow(4).createCell(1);
a4.setCellValue(1);
Cell a5 = sh.createRow(5).createCell(1);
fe.evaluateAll();
- assertEquals(2.0, a3.getNumericCellValue());
+ assertEquals(2.0, b4.getNumericCellValue());
assertEquals(18.0, a6.getNumericCellValue());
assertEquals(8.0, a7.getNumericCellValue());
assertEquals(8.0, a8.getNumericCellValue());
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellValue(3);
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(11,B2:B3)");
- Cell a4 = sh.createRow(4).createCell(1);
- a4.setCellValue(1);
- Cell a5 = sh.createRow(5).createCell(1);
- a5.setCellValue(7);
- Cell a6 = sh.createRow(6).createCell(1);
- a6.setCellFormula("SUBTOTAL(11,B2:B6)*2 + 2");
- Cell a7 = sh.createRow(7).createCell(1);
- a7.setCellFormula("SUBTOTAL(11,B2:B7)");
- Cell a8 = sh.createRow(8).createCell(1);
- a8.setCellFormula("SUBTOTAL(11,B2,B3,B4,B5,B6,B7,B8)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellValue(3);
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(11,B2:B3)");
+ Cell b5 = sh.createRow(4).createCell(1);
+ b5.setCellValue(1);
+ Cell b6 = sh.createRow(5).createCell(1);
+ b6.setCellValue(7);
+ Cell b7 = sh.createRow(6).createCell(1);
+ b7.setCellFormula("SUBTOTAL(11,B2:B6)*2 + 2");
+ Cell b8 = sh.createRow(7).createCell(1);
+ b8.setCellFormula("SUBTOTAL(11,B2:B7)");
+ Cell b9 = sh.createRow(8).createCell(1);
+ b9.setCellFormula("SUBTOTAL(11,B2,B3,B4,B5,B6,B7,B8)");
fe.evaluateAll();
- assertEquals(1.0, a3.getNumericCellValue());
- assertEquals(14.0, a6.getNumericCellValue());
- assertEquals(6.0, a7.getNumericCellValue());
- assertEquals(6.0, a8.getNumericCellValue());
+ assertEquals(1.0, b4.getNumericCellValue());
+ assertEquals(14.0, b7.getNumericCellValue());
+ assertEquals(6.0, b8.getNumericCellValue());
+ assertEquals(6.0, b9.getNumericCellValue());
}
}
void test50209() throws IOException {
Workbook wb = new HSSFWorkbook();
Sheet sh = wb.createSheet();
- Cell a1 = sh.createRow(1).createCell(1);
- a1.setCellValue(1);
- Cell a2 = sh.createRow(2).createCell(1);
- a2.setCellFormula("SUBTOTAL(9,B2)");
- Cell a3 = sh.createRow(3).createCell(1);
- a3.setCellFormula("SUBTOTAL(9,B2:B3)");
+ Cell b2 = sh.createRow(1).createCell(1);
+ b2.setCellValue(1);
+ Cell b3 = sh.createRow(2).createCell(1);
+ b3.setCellFormula("SUBTOTAL(9,B2)");
+ Cell b4 = sh.createRow(3).createCell(1);
+ b4.setCellFormula("SUBTOTAL(9,B2:B3)");
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
fe.evaluateAll();
- assertEquals(1.0, a2.getNumericCellValue(), 0);
- assertEquals(1.0, a3.getNumericCellValue(), 0);
+ assertEquals(1.0, b3.getNumericCellValue(), 0);
+ assertEquals(1.0, b4.getNumericCellValue(), 0);
wb.close();
}
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
Sheet sh = wb.createSheet();
- Cell a3 = sh.createRow(3).createCell(1);
+ Cell b4 = sh.createRow(3).createCell(1);
// formula, throws NotImplemnted?
String[][] formulas = {
for (String[] f : formulas) {
Exception actualEx = null;
try {
- a3.setCellFormula(f[0]);
+ b4.setCellFormula(f[0]);
fe.evaluateAll();
- assertEquals(FormulaError.VALUE.getCode(), a3.getErrorCellValue(), f[0]);
+ assertEquals(FormulaError.VALUE.getCode(), b4.getErrorCellValue(), f[0]);
} catch (Exception e) {
actualEx = e;
}