One improvement with the .xlsx file format is that for named ranges from external files, the details of what they point to get cached in the referring file in the external link table for that referenced workbook Currently, XSSFEvaluationWorkbook.getExternalName behaves rather like HSSF does, and doesn't take advantage of this We should extend XSSFEvaluationWorkbook.getExternalName to return a modified / updated kind of ExternalName which does have a link to this cache, and have the formula evaluation code use it if the linked workbook isn't available at evaluation time