エクセル 行の選び方

excel

#1

Read Rangeなどを使うときの範囲選択についての質問なのですが、

UiPathで、縦列を選ぶときは[A1:A15]など、[ : ]を使うと思いますが、
行を(横列)複数まとめて選択する場合はどうしたらよいのでしょうか。
そのまま[A1:G1]などにしてもエラーがでてしまいました。


#2

どんなエラーが出ましたかでしょうか?
また、データが一行しかなかったら、ヘッダーも使用しないということでしょうか
理由をお聞きしてもよろしいですか?


#3

whyyouandi様

ご返答ありがとうございます。
エラーに関しては、ある1列に対して

Main has thrown an exception
Source: ファイル読み取り
Message: A column named '12/30/1899 10:00:00' already belongs to this DataTable.
Exception Type: DuplicateNameException
System.Data.DuplicateNameException: A column named '12/30/1899 10:00:00' already belongs to this DataTable.  at UiPath.Excel.Activities.WorkbookActivity`1.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)  at System.Activities.AsyncCodeActivity.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context, IAsyncResult result)  at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)

というものが出てきます。

2列分のデータを1列ずつ抽出したいのですが([A3:G3]と[B4:G4]みたいな感じ)片方の列に上記のエラーで出てしまう感じです。
1つのエラーが起こらない方に合わせて範囲を提示してみると、エラーは起こらないですが、エクセルに何も表示されない形になります。


#4

@k.shimamura様

エラーメッセージをありがとうございます。
どうもデータテーブルの中には重複しているデータがあるようですね。
まだ解決していなければ、何かエラーを再現できる簡単なサンプルをいただけますでしょうか。


#5

shyyouandi様

なるほど、重複しているのですか・・・。
サンプルをお渡ししたいのですが、使っているファイルが個人情報であふれかえっているので、お渡しできなく、似たようなものも元々原因が不明なので作るのは難しいと思います。
重複というワードを気にして、もう一度試行錯誤してみたいと思います。
ありがとうございます。


#6

エラーの内容を見る限り、「DataTableの見出しに使用しようとしているカラム名に同じものがあるぜー」と言っていますね。

おそらくですが、読み込むExcelのデータ構成が、
[住所(String)、氏名(String)、年齢(string)、入社日(datetime)、退社日(datetime)]
のような構成になっていて、見出し行を作らないためデータとしては、
東京都,山田太郎,30,12/30/1899,12/30/1899
のように、日付部分に同一内容のデータが入ってしまっているのでしょう。
UiPathが1行目のデータを見出しとして(ある意味勝手に)使用しようとして、ここでは[12/30/1899]という見出し名を使おうとして使えないー、と言っているのでしょう。

解決策としては、
・見出しが必要な場合:読み込むExcelシートに見出し行を作る
・見出し行が不要な場合:[Read Range]アクティビティのオプション [add header]プロパティのチェックをオフにする

だと思います。


#7

yukino様

返答ありがとうございます。
:[Read Range]アクティビティのオプション [add header]プロパティのチェックをオフにする
を行ったら、無事実行されました!
ありがとうございます。