Data Tableの作成について

ようやく、datatableを使えるようになってきたましたがまだまだ初心者です。
アドバイスをお願いします。
ExcelでSheet1のA1:H10のデータがあり
Sheet2のB列にSheet1のA1:A10の値を、Sheet2のF列にSheet1のD1:D5を値をコピーする。
この場合、
①「範囲を読み込む」アクティビティでA1:H10の値を読み込み、Sheet2用にDataTableを作成→列を6列作成→Addrowで10行作成
②「範囲を読み込む」アクティビティでA1:A10の値を読み込み、Sheet2用にDataTableを作成→列を1列作成→Addrowで10行作成
「範囲を読み込む」アクティビティでD1:D5の値を読み込み、Sheet2用にDataTableを作成→列を1列作成→Addrowで5行作成
①、②もすっきりしない作成ですが、他にすっきりした作成方法はありますでしょうか。

こんにちは

ExcelでSheet1のA1:H10のデータがあり
Sheet2のB列にSheet1のA1:A10の値を、Sheet2のF列にSheet1のD1:D5を値をコピーする。

単純に

  • 「範囲を読み込む」でSheet1のA1:A10をDataTableとして読み込み、「範囲を書き込む」でその読み込んだDataTableをSheet2のB1に書き込む
  • 「範囲を読み込む」でSheet1のD1:D5を別のDataTableとして読み込み、「範囲を書き込む」でその読み込んだDataTableをSheet2のF1に書き込む

で良いような気がしますが、やりたいことと異なりますでしょうか?

Yoichiさん
こんにちは。
早速のアドバイスありがとうございました。
アドバイスいただいた方法しかないですよね。
.Select("").CopyToDataTable.DefaultView.ToTable(False,“カラム名”)で、1列づつの設定ではだめですか。

こんにちは

アドバイスいただいた方法しかないですよね

総論として、UiPathは実装の自由度が高いので、実現のための方法はひとつではないケースが多いです。そのため、やりたいことができるのであれば、方法はどれでも良いかと思います。ただし特に企業内などの利用では可読性や保守性を求められますので、そのような場合は、分かりやすく、シンプルな実装をした方がベターかと思います。

.Select("").CopyToDataTable.DefaultView.ToTable(False,“カラム名”)で、1列づつの設定ではだめですか。

要件を達成できるならこの方法でも問題ないかと思います。コメントとしましては.Select("").CopyToDataTableの部分が冗長に思えるのと、大元のDataTableをA1:H10の範囲としているなら、Sheet2に書き込む際にSheet1のD6:D10の部分の扱いをどうするかという点が微妙かと思いました。

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