データテーブル(DataTable)の操作方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
DataTableの操作方法についてのアイキャッチ

「DataTable」は、エクセルやデータベースのように行と列で構成された複数のデータの集まりです。
複数のデータの中から、対象としたデータを容易に操作することができます。

配列は同じ型の集まりですが、データテーブルは複数の型を同じテーブル内に持つことが可能です。
UiPathにおけるエクセルやCSVの自動化では、基本的に「DataTable」型のデータを操作することが多いため、事前にデータテーブルの操作を理解しておくとスムーズに開発できると思います。

データテーブルの新規作成

データテーブルの新規作成

「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」プロパティを指定して追加する。

DataRow形式で行の追加

 

「.NewRow」でテーブルに新しいレコードを作成後に、対象列を指定して値を格納します。

DataRowプロパティからレコードを追加する。

Assign
rows=data.NewRow

Assign
rows(0)=”台湾語”←カッコ内は対象列。左記の例だと1列目に挿入

rowsは予め作成しておいてた、「DataRow」型の変数です。

行の削除

行削除のプロパティ

「Remove data row」アクティビティを使用して対象行を削除できます。

Row Indexプロパティで指定する。

インデックスを指定して行を削除する。

「(1)」のように対象行を指定します。

Rowプロパティで指定する。

Rowプロパティを指定して行を削除する。

data.Rows(0)のように指定します。

列の追加

列を追加するプロパティ

「Add data column」アクティビティを使用して指定した列を追加することができます。
また各プロパティで、最大文字数や空を許可するかなどの指定が可能です。

Column Nameプロパティで指定する。

カラム名を指定して列を追加する。

引用符で囲んだ文字列を列名として指定することで追加できます。

Columnプロパティで指定する。

「New DataColumn」で新しい列を作成後に、列の名称を設定し追加します。

Columnプロパティを指定して列を追加する。
Assign
columns=New DataColumn

Assign
columns.ColumnName=”追加する列の名前”

columnsは予め作成しておいてた、「DataColumn」型の変数です。

「Add data column」アクティビティのプロパティ

AddDataColumnのオプションプロパティ

列を追加する際に指定できるプロパティです。

TypeArgument列の型を指定します。
AllowDBNull値が空を許容するかどうかを指定します。
AutoIncrement自動加算を使用するかどうかをしています。
DefaultValueデフォルト値を設定します。
MaxLength最大サイズを指定します。
Unique値の重複を許容するかを指定します。

列の削除

列を削除するアクティビティ

「Remove data column」アクティビティを使用して列の削除を行います。

Column Indexプロパティで指定する。

インデックスを指定して列を削除する。

「(0)」のように列の場所を指定します。

Column Nameプロパティで指定する。

列名を指定して削除する。

「”Column2″」のように列名で指定します。

 

値の全削除

テーブルのデータを全削除する。

 

「Clear DataTable」アクティビティを使いテーブル自体は残したまま、テーブル全体の値をクリアすることができます。

 

データの参照

次のように設定することでメッセージボックスで表示できます。
データの変更と同じように1つ目の括弧が行を表し、2つ目の括弧が列を表しています。
「data(0)(0).ToString」

DataTableのデータをメッセージボックスで表示する。

テーブルの内容を出力する

DataTable型のデータはCSVやエクセルとの相性がよく、テーブル全体を簡単に出力できます。

「Write CSV」アクティビティを使用してCSVに出力する。

DataTableのデータをCSVに出力する。

ファイルパスと作成したデータテーブルを指定するだけでCSVファイルに出力できます。

FilePathプロパティに出力するファイルを指定します。対象のファイルが存在しない場合は新たにファイルを作成します。
DataTableプロパティに作成したデータテーブルを指定します。

その他のプロパティとして次のものがあります。

CSV書き込みアクティビティのプロパティ一覧

 

Delimitator区切り文字を指定します。「カンマ」か「セミコロン」を選択できます。
AddHeaders列名を出力するかどうかを選択します。
Encording文字コードを指定します。指定可能な文字コードは「文字コードのサポート」を参照ください。
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。