0

我正在尝试使用 apache poi 插件从 excel 文件中检索命名范围。

代码片段如下所示。

我看到这个电话WorkbookFactory.create(excelFile);需要很长时间 - 大约 3 秒。

是否有更快的方法来获取与 Excel 工作表关联的所有命名范围?

File excelFile = new File(filePath);
Workbook workbook = WorkbookFactory.create(excelFile);
int n = workbook.getNumberOfNames();

for (int i = 0; i < n; i++)
{
    Name nameObject = workbook.getNameAt(i);
    String formulaName = nameObject.getRefersToFormula();
    System.out.println("Named Range is :"+formulaName);
}
4

1 回答 1

1

我刚刚向 POI 提交了一个补丁,它修复了可怕的 WorkbookFactory.create() 执行时间,您可能想在这里查看它:

https://issues.apache.org/bugzilla/show_bug.cgi?id=51585

构建 POI 并不难——只需将补丁应用到 vanilla 3.9 版本即可。

于 2013-10-07T17:37:00.900 回答