データ テーブルを出力 (Output Data Table) を使いデータテーブルをテキストに変換した後、
テキストからデータ テーブルを生成 (Generate Data Table From Text) を使ってテキストをデータテーブルに戻し、
この際にアクティビティのオプション機能で型を自動検出させる、という流れです。
実装例
範囲を読み込み (Read Range) で取得したデータテーブルは全列Object型で設定されます。
以下はExcelから範囲を読み込み、データテーブルの各列のデータ型とデータ内容を確認するワークフローです。
まずはこちらをご確認ください。
全列Object型で設定されているのが確認できます。
データ型を変換する
Excelを読み込み、ログに出力した後、
データ テーブルを出力 と テキストからデータ テーブルを生成 を使いデータ型を変換し、
再度ログに出力します。
データを維持したまま、数値はInt32型、文字列はString型、日付はDateTime型に変換できています。
テキストからデータ テーブルを生成 のプロパティは上記の通り、
「列ヘッダーを使用」、「型を自動検出」、「CSV解析」をTrueにし、「列区切り」にカンマを指定してください。
複数のデータ型(文字列と数値とか)が混ざっている列はどうなるの?
データの件数次第かもしれませんが、今回の例程度の件数であればエラーにはならずString型に寄せてくれます。
ただし意図せぬデータ型になる可能性も否めませんので、列に入っているデータの型が特定できない時は使わないほうがよいでしょう。
「型を自動検出」をオフにするとどうなるの?
全部String型になるようです。
これはこれで何かの役に立つかも。
動作環境
UiPath.System.Activities 21.10.4
参考