範囲を読み込みアクティビティの遅延

範囲を読み込み(Read Range)アクティビティについて質問があります。Excelシート1000行分のデータを読み込ませるのに5分程処理時間がかかります。データについてもナンバリングがA列に1000行分してあるだけで、全てのセルにデータが入力されているわけではなく、実質2~3行分しかデータは入力されておりません(20列分)。この場合、処理速度の5分というのは適正なのでしょうか?かなり遅く感じてしまうのですが。何か高速化する方法をご存じでしたらご教授頂けますでしょうか。

実際にそのEXCELファイルを共有していだたく事は可能でしょうか?

それと、範囲指定で、”A:C"など指定をすると、全行をDataTable化してしまいます。"A1"とすると、"A1"セルを基点にして、最終行、最終列までを対象としますので、思いもよらぬ範囲を読み込んでいる場合もあります。

陽に範囲を指定してみるとどうなるでしょうか?”A1:C1000"のように。。。

返信ありがとうございます。Excelはコンプライアンスの観点から公開できませんが、指定範囲は「A2」としています。この場合、A2を起点として、20列を1000行分まで読み込むという認識でよろしいでしょうか?

そうですね。

あと、最終セルの確認では、ジャンプ(Ctrl+G)で出た画面の左下「セル選択」をクリックし、
image

最後のセルをチェックして、OKした時のセルですね。

「範囲を読み込み」のプロパティ、[表示形式を維持]にチェックを付けると極端に遅くなります。

見た目がセル空でも、書式設定などされていると取得範囲が広くなり遅くなります。
取得したデータテーブルの行数が1000行になっているか、変数名.Rows.Count.ToStringで確認してみてください。

また、新しくExcelファイルを作って、既存のファイルの【値のみ】をコピー&貼り付けして、
「範囲を読み込み」をしたら速さの違いがわかりそうです。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.