Greg, thank you.

I have tried evaluate(cell) as well as evaluateAll() and I am still getting
the reference to another cell on a hidden sheet instead of calculated value.

Following is my program:

public class POICalculator {
 private DataFormatter formatter;
 
 public static void main(String[] args) {
 // To fill cell values in calculator spreadsheet and 
 // obtain computed cell value
 InputStream ExcelFileToRead;
 try {
 ExcelFileToRead = new
FileInputStream("C:\\temp\\XLS\\NPCalculatorBlack.xls");
 HSSFWorkbook wb = new HSSFWorkbook(ExcelFileToRead);
 HSSFWorkbook test = new HSSFWorkbook(); 
 HSSFSheet sheet = wb.getSheetAt(0);
 HSSFRow row; 
 HSSFCell cell;
 String examDate = "04/02/2019";
 String birthDate = "01/01/1980";
 FormulaEvaluator mainWorkbookEvaluator =
wb.getCreationHelper().createFormulaEvaluator();
 Map<String, FormulaEvaluator> workbooks = new HashMap<String,
FormulaEvaluator>();
 // Add this workbook
/* workbooks.put(wb.getSheetName(0), mainWorkbookEvaluator);
 workbooks.put(wb.getSheetName(1), mainWorkbookEvaluator);
 workbooks.put(wb.getSheetName(2), mainWorkbookEvaluator);
 workbooks.put(wb.getSheetName(3), mainWorkbookEvaluator);
 workbooks.put(wb.getSheetName(4), mainWorkbookEvaluator);
 workbooks.put(wb.getSheetName(5), mainWorkbookEvaluator);
 workbooks.put(wb.getSheetName(6), mainWorkbookEvaluator);
 mainWorkbookEvaluator.setupReferencedWorkbooks(workbooks);
*/
 mainWorkbookEvaluator.evaluateAll();
 // input cell value for F3
 sheet.getRow(2).getCell(5).setCellValue(examDate);
 // input cell value for H3
 sheet.getRow(2).getCell(7).setCellValue(birthDate);
 HSSFFormulaEvaluator.evaluateAllFormulaCells(wb); 
 *wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
 cell = sheet.getRow(4).getCell(1);
 wb.getCreationHelper().createFormulaEvaluator().evaluate(cell);*
 
 // output computed AGE value from cell B5 - Expected result: 39
 String age = sheet.getRow(4).getCell(1).toString();
 System.out.println(age);
 } catch (Exception e) {
 e.printStackTrace();
 }
 } 
} 
Output is shown as:

*'Unformatted Values'!AD13*
Where 'Unformatted Values' is a hidden sheet within the same workbook.



--
Sent from: http://apache-poi.1045710.n5.nabble.com/POI-User-f2280730.html

Reply via email to