3

多数の配列計算を含む大量の Excel ワークブック (.xlsm 形式、約 30 MB) を読み込もうとしています。

> wb1 <- loadWorkbook("Mar_SP_20130227_V6.1.xlsm")
Error: POIXMLException (Java): java.lang.reflect.InvocationTargetException

しかし、ワークブックの値のみ/マクロなしのバージョンを正常に読み込むことができます。

> wb2 <- loadWorkbook("Mar_SP_20130227_V6.1_VALUES_ONLY.xlsx")
> wb2
[1] "Mar_SP_20130227_V6.1_VALUES_ONLY.xlsx"

エラーの原因は何ですか?

メンテナーのWeb サイトから、配列計算またはサポートされていない数式関数を含むワークブックに問題がある可能性があることがわかりますが、これは同じエラーのようには見えません。

Java 情報:

C:\> java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode)
4

1 に答える 1

7

このエラーの原因は、JVM のメモリ不足であることが判明しました ( options(java.parameters = "-Xmx1024m").

メモリを増やそうとしましたが、JVM に を超える負荷をかけることができませんでした-Xmx2048m。それでも、ワークブックを読み込むには十分ではありませんでした。

そこで、JRE を 32 ビットから 64 ビットにアップグレードし、64 ビット R を実行しました。

-Xmx4096mその後、30 MB のワークブックを設定して正常に読み込むことができました。

于 2013-04-10T03:29:15.050 に答える