Question/Problem
Excelファイルのデータを『範囲を読み取り』アクティビティで取得しています。
件数が多くなると処理時間が長くなりますが、10万件以上のデータの場合、30分以上(長いときで2時間)かかっています。
読み取り処理時間を短縮する方法はありますか。
Verification
読み取りデータ元がExcelとCSVを比較した場合、Excelの方が読み取り時間がかなり長くなります。
Resolution
読み取りデータ元がExcelの場合は、CSVに変換してから読み取ることで、読み取り処理時間の短縮が図れます。
例えば、10万件の場合、読み取り処理が1分以内に完了した事例があります。
以下は実装例です。
- 対象ファイルをExcelアクティビティで開く
- 『CSV にエクスポート』アクティビティで対象シートをCSVファイルに出力する
- 『CSV を読み込み』アクティビティでCSVファイルからデータを読み取る
『CSV にエクスポート』アクティビティはExcelワークシートの範囲、表、またはシート内のデータを、指定された CSV ファイルにエクスポートするアクティビティですが、 検証をした結果、範囲指定をせずにシート全体のデータをエクスポートする方が処理時間が短くなったので、可能であればシート全体をエクスポートすることを推奨します。
ワークシート内に出力したくないデータがある場合は、以下の方法をお試しください。
- 対象ファイルをExcelアクティビティで開く
- エクスポート対象のワークシートを複製する
- 出力したくないデータを削除する
- 『CSV にエクスポート』アクティビティで対象ワークシートをエクスポートする
- 『CSV を読み込み』アクティビティでCSVファイルからデータを読み取る