3.A.4.1. 空のDataTableの作成

請求書から読み込まれるExcelデータは、すべてDataTableに保存されます。

CreateDataTableアクティビティをメインシーケンスの末尾にドラッグします。

最初の入力フィールドで、DataTableの名前をinvoicesDataTableとする。

備考

OpenRPAは、アクティビティ/プロパティに必要な正しい型を持つ新しい変数を自動的に作成することができます。プロパティボックスで新しい変数を作成する場合、変数名を入力した後、キャレットを入力フィールドに入れたまま、Ctrl+Kキーを押します。

この場合、2つ目の入力フィールドに割り当てられるフィールドはヘッダーです。したがって、2番目の入力フィールドには、{"Invoice Number", "Company Name", "Shipping Address", "Shipping Tel. Number"、 "Due Date"、 "Qty. of Items"、 "Due Balance"}を内容として記述します。

各アクティビティのDisplayNameを意味のあるものにリネームすると、ワークフローの各パーツが何をするのかが把握しやすくなるのでおすすめですそう考えると、このアクティビティを「Create Empty DataTable」にリネームしてみましょう。

images/openrpa_workflow_example_read_excel_create_empty_data_table.png

備考

OpenRPAでは、DataTableは値を保持するために使われる2次元の非シリアライズ可能なオブジェクトに相当します。これはij列の行列と考えることができます。i行は.Rows(n)属性でアクセスできます。ここでnはアクセスしたい行の番号です(0から始まります)。j個の列には、.Item(n)属性を使ってアクセスします。nは、アクセスしたい列の番号-0から始まる-です。ここで、ユーザがRows属性にアクセスしなければならないことを思い出してください。したがって、ユーザがデータ テーブルの 3 行目の 2 列目にアクセスしたい場合は、.Rows(2).Item(1)属性を使用することになります。

備考

.NET APIでは、DataTable オブジェクトは、同じ名前のクラスのDataSet オブジェクト 含まれるインメモリデータの1つのテーブルに対応します。Excel ファイルを読み込むと、それは自動的にDataSetクラスに割り当てられ、すべてのシートは DataTableクラス(0からExcel ファイル内のシート数まで番号が付けられている)に保存されます。ここで、DataTableオブジェクトは大文字と小文字を区別することに注意しましょう。