AreaEvalBase area = (AreaEvalBase) arg;
for (int i = area.getFirstRow(); i <= area.getLastRow(); i++) {
for (int j = area.getFirstColumn(); j <= area.getLastColumn(); j++) {
- valuesList.add(evaluateDateArg(area.getValue(i, j), i, j));
+ // getValue() is replaced with getAbsoluteValue() because loop variables i, j are
+ // absolute indexes values, but getValue() works with relative indexes values
+ valuesList.add(evaluateDateArg(area.getAbsoluteValue(i, j), i, j));
}
}
double[] values = new double[valuesList.size()];
assertEquals(70, sheet.getLastRowNum());
assertEquals(70, sheet.getRow(sheet.getLastRowNum()).getRowNum());
}
+
+ @Test
+ public void testWorkdayFunction() throws IOException {
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("59106.xlsx");
+ XSSFSheet sheet = workbook.getSheet("Test");
+ Row row = sheet.getRow(1);
+ Cell cell = row.getCell(0);
+ DataFormatter form = new DataFormatter();
+ FormulaEvaluator evaluator = cell.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
+ String result = form.formatCellValue(cell, evaluator);
+
+ assertEquals("09 Mar 2016", result);
+ }
}