このメッセージが出力される場合、2つの原因が考えられます。
◆ xls形式のExcelファイルを扱っている場合
扱うExcelファイルがxls形式でメッセージが出力される場合、xls形式はASTERIA Warp 1912より動作保証の対象外です。xlsx形式で保存し直すことで動作することもありますのでお試しください。下記のFAQもご参照ください。
◆ 出力メッセージに「Tried to allocate an array of length ~」が含まれる場合
メッセージが下記の内容の場合、Excelコンポーネントで扱うことが可能なファイルサイズ、セル数の上限を超えていることが原因です。ファイルを分割する、不要なセルを削除する等にてご対応ください。
扱うことが可能なファイルサイズ、セル数の目安については各Excelコンポーネントヘルプの「■制限事項」をご参照ください。
ワークブックを開けません。サポートされないファイル形式です : [Excelファイルのパス],org.apache.poi.util.RecordFormatException: Tried to allocate an array of length [xxx,xxx,xxx], but the maximum length for this record type is 100,000,000.ASTERIA Warp 2312以降では、フローサービス管理コンソール(FSMC)から起動オプションを下記の手順で指定することで回避できる場合があります。
※誤った設定を行うと、FlowServiceが起動できなくなる場合がありますので、十分に注意して設定を行ってください。
- FSMC:[設定]>[サービス]>[フロー]>[起動]>[編集]をクリックします。
-
その他のオプションに下記のオプションを追加します。(半角スペース区切り)
※下記の設定値は例です。(メッセージ内に表示された数値[xxx,xxx,xxx]より大きい数値を設定してください。)
-Dasteria.excel.max.bytearray.size=200000000- フローサービスを再起動します。
▼FSMCヘルプ
https://help.asteria.com/documentation/warp/ja/[ご利用のバージョン]/flow/mc/index.html#flow_settings_top
設定値はデータサイズやOSのメモリ状況に依存しますので、実際のファイルを使用して設定値を調整してください。
本設定により扱えるデータ量が増加する一方で、メモリ使用量も多くなるため、システムリソースが不足する可能性があります。ASTERIA Warp側のメモリ使用量やコンポーネント実行時のパフォーマンスに影響を及ぼす場合があることをあらかじめご留意ください。
設定変更後に動作に支障が生じた場合は、FSMCから変更前の設定に戻してください。