UiPathにはExcelからデータを読み込むアクティビティがあります。これ、読み込んだデータをそのまま書き込むと書式設定はどうなるのでしょう。
試してみた。
以下のアクティビティを作成。
"Excel application scope"を使用するパターンAと使用しないパターンBの2種類を用意。
Sheet1から読み込んだデータをそれぞれSheet2とSheet3に書き出します。
読み込むデータはセルの書式設定で表示形式を変えてみたり、文字のフォント設定を変えてみたりしています。
実行してみた。
パターンA "Excel application scope"を使用する
結果を比較すると。
パターンAとパターンBでは結果を見ると違う箇所が2つあります。
パターンAではC2の文字列"123"が数値の123になり、F2の文字列"2018/09/07"が日付の2018/9/7になっています。
一方、パターンBではC2の文字列"123"は実行後も文字列、F2の文字列"2018/09/07"も実行後は文字列となっています。
(よく見るとパターンBのE2だけ別のフォントになっている…)
分かったこと。
数値と日付以外の元の書式設定はUiPathでの読み込み時に破棄される。
"Excel application scope"を使用する場合と使用しない場合で挙動が少し違う。
日付や数値を文字列として書き出したい場合は"Excel application scope"を使用しない。
おまけ
今回のワークフローを実行した後のexcelのファイルを開いてみると、シートの並び順が↓のようになる。
Sheet1が読み込むデータのシート
Sheet2が"Excel application scope"を使用して書き出したシート
Sheet3が"Excel application scope"を使用せずに書き出したシート
どうやら、UiPath.Excel.Activities.ExcelWriteRangeアクティビティを使用するとシートは左に追加され、
UiPath.Excel.Activities.WriteRangeアクティビティを使用するとシートは右に追加されるようだ。