Power AutomateでExcelの表を256行以上取得する方法

Power AutomateでExcelの表を256行以上取得する方法

Power AutomateでExcelの表を256行以上取得する方法

以前、Power AutomateでExcelの表を取得する際に、256行までしか取得できないので対策方法を紹介しました。こちら
しかし上記方法は無駄が多く、行数が増える度にフローのメンテナンスを行う必要が出てしまうので、正直イケてないです。。なのでもう少し調査をしてみたところ他の方法で256行以上取得できることが分かったため新しい方法を紹介します。

またこの内容は動画でも紹介しているので合わせて参考にしてみてください。


一応テスト

設定方法の前に、デフォルト設定だと本当に256行しか取得できないのかを確認します。
方法はシンプルで、300行近く用意したサンプルのテーブルを取得し、その後のApply to eachで何回繰り返しされるかを確認します。

  • サンプルファイルの確認
  • 今回はIDのみのテーブルを用意し、1から350までのデータを格納しておきます。(256行以上のデータがあれば良いです。)

  • 確認用フロー
  • フローの全体は次のようになります。

    以降、ステップの補足説明をします。
    格納用の変数を用意し、先ほどのサンプル表を取得します
    その後取得したデータで繰り返し処理を行い、データを文字列変数に結合していきます。
    最後に結合した文字列を結果確認用の変数に格納します。

  • 結果
  • この状態でテストを実行し、Apply to eachの処理数を確認します。すると下記のように表示されていることが確認できます。

このようにデフォルト設定のままでは、256行までしか取得できていないことが分かります。


設定方法

デフォルトでは256行しか読み取れないことが確認できたところで、256行より多く読み込む方法を紹介します。
「表内に存在する行を一覧表示」 のステップ数右側にある三点マークをクリックし、設定を開きます。
設定の中にある「改ページ」をいじります。

改ページを「オン」にします。その後「しきい値」の入力欄に読み込みたい行数を入力します。
なお、このしきい値には「0より大きく、100000以下」が入力できます。つまり100000行までは読み込むことができます。
これにより、256行以上のデータを読み込めるようになります。

なお、100000行読み込めるのにデフォルトでは256行しか読み取れないようになっているのかは分かっていません。
また100000行読み込むことのデメリットが存在しないのかも確認はできておりません。ただ、実際に使っている方はわかるかもしれませんが、Apply to eachの処理速度は非常に遅いです。
256行のデータで1分近くかかります。それが100000行ともなると処理が終わらなくなる可能性があるくらいですかね。

念の為設定を加えた状態で256行以上読み込めるのかを確認したいと思います。
しきい値には500を設定した状態で、テストを実行します
結果は下記になります。

Apply to eachの繰り返し回数が になっているので、256行以上読み取れていることがわかります。


さいごに

今回はエクセルを256行以上読み取る方法を紹介しました。
これにより大量データになっても、ステップ1つで取得ができるようになります。
ただ、上述しましたが、この設定をすることで生じるデメリットはないのかなどは確認できていません。繰り返し処理の処理時間についても並列化できるなら気にならない程度まで早くできる可能性もありますし。。
今回はこのへんで、ではまた!

コメント

このブログの人気の投稿

PowerAppsで座席表を作成する

Power AutomateでTeamsのキーワードをトリガーにする

Power Automateで文字列抽出