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

WorkbookFactory.create() の恐ろしい実行時間を修正するパッチを POI に送信しました。ここで確認してください。

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

POI の構築はそれほど難しくありません。パッチをバニラ 3.9 バージョンに適用するだけです。

于 2013-10-07T17:37:00.900 に答える