Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WorkbookFactory.create()存在Apache Poi性能问题_Java_Performance_Apache Poi - Fatal编程技术网

Java WorkbookFactory.create()存在Apache Poi性能问题

Java WorkbookFactory.create()存在Apache Poi性能问题,java,performance,apache-poi,Java,Performance,Apache Poi,我正在尝试使用ApachePOI插件从excel文件中检索命名范围 代码片段如下所示 我看到调用WorkbookFactory.create(excelFile)需要很长时间-大约3秒 是否有更快的方法获取与excel工作表关联的所有命名范围 File excelFile = new File(filePath); Workbook workbook = WorkbookFactory.create(excelFile); int n = workbook.getNumberOfNames();

我正在尝试使用ApachePOI插件从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);
}
File excelFile=新文件(filePath);
工作簿=WorkbookFactory.create(Excel文件);
int n=workbook.getNumberOfNames();
对于(int i=0;i
我刚刚向POI提交了一个修补程序,修复了可怕的WorkbookFactory.create()执行时间,您可能希望在此处查看它:


构建POI并不难——只需将修补程序应用到vanilla 3.9版本。

您正在处理的文件有多大?