List of usage examples for org.apache.poi.ss.usermodel FormulaEvaluator setupReferencedWorkbooks
void setupReferencedWorkbooks(Map<String, FormulaEvaluator> workbooks);
From source file:step.datapool.excel.WorkbookSet.java
License:Open Source License
private void openReferencedWorkbooks(Integer maxWorkbookSize, Workbook workbook, FormulaEvaluator evaluator) { Map<String, FormulaEvaluator> workbooks = new HashMap<String, FormulaEvaluator>(); if (workbook instanceof XSSFWorkbook) { if (((XSSFWorkbook) workbook).getExternalLinksTable() != null) { for (ExternalLinksTable sheet : ((XSSFWorkbook) workbook).getExternalLinksTable()) { String file = sheet.getLinkedFileName(); File f = resolver.resolve(file); if (f != null) { try { WorkbookFile book = openWorkbook(f, maxWorkbookSize, false, false); workbooks.put(file, book.getWorkbook().getCreationHelper().createFormulaEvaluator()); } catch (Exception e) { logger.error("An error occured while opening referenced workbook '" + file + "'. Main workbook: '" + mainWorkbookFile + "'"); }/*www . java 2 s. c o m*/ } else { logger.warn("Unable to resolve external workbook '" + file + "'. Main workbook: '" + mainWorkbookFile + "'"); } } } } workbooks.put("this", evaluator); evaluator.setupReferencedWorkbooks(workbooks); }