
「DataTable」は、エクセルやデータベースのように行と列で構成された複数のデータの集まりです。
複数のデータの中から、対象としたデータを容易に操作することができます。
配列は同じ型の集まりですが、データテーブルは複数の型を同じテーブル内に持つことが可能です。
UiPathにおけるエクセルやCSVの自動化では、基本的に「DataTable」型のデータを操作することが多いため、事前にデータテーブルの操作を理解しておくとスムーズに開発できると思います。
Contents
データテーブルの新規作成
「Build Data Table」アクティビティを使用することにより簡単にテーブルを作成することができます。
このアクティビティを配置後、「DataTable…」をクリックすると以下のような画面になります。
デフォルトでは「2つの列」と「2つの行」があり、「Column1(String)」や「Column2(Int32)」が列名、その下に表示される「text」や「1」が行(レコード)です。
画面に配置されている「×」ボタンを押すと行や列を削除することができ、「+」ボタンを押すと列を追加することができます。
Point「Assign」アクティビティを使用して、右辺を「New Data Table」とし新規にDataTableを作成することもできます。この場合、列や行はひとつずつ追加していく必要があります。
列の追加
左上に表示されている「+」(Add Column)をクリックすると列の詳細設定画面が開きます。
ここで列の内容を設定し「OK」とすることで新規の列が右側に追加されます。
なお設定画面の一部が隠れている場合がありますので、その場合は画面右下でウインドウサイズを変更しましょう。
以下は設定内容を日本語にしたものです。
①Column Name | 列名に設定する文字です。日本語も設定可能です。引用符で囲む必要はありません。 |
②Data Type | 列で使用するデータの型を指定します。 |
③Allow Null | データが空であることを許可するか。 |
④Auto Increment | 数値を自動加算する。 |
⑤Default Value | デフォルト値を設定する。文字列は引用符不要です。 |
⑥Unique | 同一データを許可するか。 |
⑦MaxLength | 許容するレコードサイズ。「-1」を設定することで無制限になります。 |
列名やデータ型は修正できないようですので、間違えてしまった場合は削除後に再作成しましょう。
行の追加
Tabキーでカーソルが遷移し、最終カラムでTabキーを押すと自動的に新規行が追加されます。最終行が全て空白であれば、UiPath側で自動的に不要行と判定してくれます。
なお「列で指定した型」と「行で入力した型」が異なる場合や、値が空であることを許可されていない場合など、入力値が不正の場合は入力枠が赤くなりエラーであることを教えてくれます。
テーブルの操作
通常の変数と同様に「Assign」アクティビティや、データテーブル用のアクティビティを使用することにより、行、列を後から追加したり、データの値を変更することが可能です。
データの変更
「Assign」アクティビティを使用してデータ内容を変更することができます。
「data(0)(0)」=「”変更したい値”」のように指定することでデータを上書きできます。
1つ目の括弧が行の位置を表し、2つ目の括弧が列を表しています。
Point
1行目(または1列目)は「0」からスタートですので注意してください。
行の追加
「Add data row」アクティビティを使用することにより、新規にレコードを追加できます。
「ArrayRow」プロパティを指定して配列形式で追加する。
「{”リンゴ”,”ゴリラ”,”ラッパ”}」のように配列の形で値を指定し新規にレコードを追加します。
データテーブルの列数と配列の要素数は合わせる必要はありませんが、「データテーブルで指定している型」と「配列の型」はそろえる必要があるのでご注意ください。
「DataRow」プロパティを指定して追加する。
「.NewRow」でテーブルに新しいレコードを作成後に、対象列を指定して値を格納します。
Assign
rows=data.NewRow
Assign
rows(0)=”台湾語”←カッコ内は対象列。左記の例だと1列目に挿入
rowsは予め作成しておいてた、「DataRow」型の変数です。
行の削除
「Remove data row」アクティビティを使用して対象行を削除できます。
Row Indexプロパティで指定する。
「(1)」のように対象行を指定します。
Rowプロパティで指定する。
data.Rows(0)のように指定します。
列の追加
「Add data column」アクティビティを使用して指定した列を追加することができます。
また各プロパティで、最大文字数や空を許可するかなどの指定が可能です。
Column Nameプロパティで指定する。
引用符で囲んだ文字列を列名として指定することで追加できます。
Columnプロパティで指定する。
「New DataColumn」で新しい列を作成後に、列の名称を設定し追加します。
Assign
columns=New DataColumn
Assign
columns.ColumnName=”追加する列の名前”
columnsは予め作成しておいてた、「DataColumn」型の変数です。
「Add data column」アクティビティのプロパティ
列を追加する際に指定できるプロパティです。
TypeArgument | 列の型を指定します。 |
AllowDBNull | 値が空を許容するかどうかを指定します。 |
AutoIncrement | 自動加算を使用するかどうかをしています。 |
DefaultValue | デフォルト値を設定します。 |
MaxLength | 最大サイズを指定します。 |
Unique | 値の重複を許容するかを指定します。 |
列の削除
「Remove data column」アクティビティを使用して列の削除を行います。
Column Indexプロパティで指定する。
「(0)」のように列の場所を指定します。
Column Nameプロパティで指定する。
「”Column2″」のように列名で指定します。
値の全削除
「Clear DataTable」アクティビティを使いテーブル自体は残したまま、テーブル全体の値をクリアすることができます。
データの参照
次のように設定することでメッセージボックスで表示できます。
データの変更と同じように1つ目の括弧が行を表し、2つ目の括弧が列を表しています。
「data(0)(0).ToString」
テーブルの内容を出力する
DataTable型のデータはCSVやエクセルとの相性がよく、テーブル全体を簡単に出力できます。
「Write CSV」アクティビティを使用してCSVに出力する。
ファイルパスと作成したデータテーブルを指定するだけでCSVファイルに出力できます。
FilePath | プロパティに出力するファイルを指定します。対象のファイルが存在しない場合は新たにファイルを作成します。 |
DataTable | プロパティに作成したデータテーブルを指定します。 |
その他のプロパティとして次のものがあります。
Delimitator | 区切り文字を指定します。「カンマ」か「セミコロン」を選択できます。 |
AddHeaders | 列名を出力するかどうかを選択します。 |
Encording | 文字コードを指定します。指定可能な文字コードは「文字コードのサポート」を参照ください。 |