2011-07-07 79 views
0

我一直在網上看了30分鐘,找不到任何解釋。這是我的問題:apache poi如何禁用外部引用或外部鏈接?

我用poi編寫了一個應用程序來解析200個excel文件中的一些數據,並將其放入一個新文件中。我使用FormulaEvaluator進行了一些細胞評估,以在選擇保留細胞之前瞭解細胞的內容。
現在,當我測試它在細胞中只值的測試文件,程序完美的作品,但是當我用我的一堆文件,我得到這個錯誤:

「無法解析外部工作簿的名稱」

是否有任何方法可以忽略外部工作簿引用或設置環境,以避免使用外部引用評估公式?
因爲我需要不包含引用的...

謝謝

回答

1

難道你們就不能僅僅捕獲錯誤,並跳過該單元格?

由於您已經要求POI評估單元格中的公式,並且該公式引用了不同的文件,您會看到該錯誤。但是,您還沒有告訴POI在哪裏找到所引用的文件,因此它反對。

如果您不關心具有外部引用的單元格,只需捕獲異常並轉到下一個單元格即可。

如果你照顧,你需要告訴POI在哪裏可以找到你的文件。您可以使用setupEnvironment(String[],Evaluator[])方法執行此操作 - 爲其傳遞一組工作簿名稱,以及一組匹配的這些工作簿的評估程序。

+0

事實上,它完全滑了我的腦海,以趕上例外。我今晚會嘗試!謝謝 – Sephy

+1

我確實發現了這個異常,但問題在於,它似乎是在評估程序第一次使用/創建時拋出異常,然後它不適用於文件的其餘部分... – Sephy

+0

只要您我會依次評估每個單元,而不是一次性嘗試完成整個工作簿,我希望它可以正常工作 – Gagravarr