excelでのリスト化:Listing with excel

excel

#1

excelシートにテンプレートがありデータが入力されています。
シートの内容が1行分です。
大量にあるためUIPATHの機能を利用して一覧表にしたいと考えています。
excelマクロでは、例題がありますがexcelマクロは極力避けたいと思います。
ご教示いただければと思います。

The excel sheet has a template and data is entered.
The contents of the sheet is one line worth.
I am thinking that I use UIPATH’s function to list it because it is in large quantity.
With the “excel macro”, I have an example but I would like to avoid “excel macros” as much as possible.
I hope to teach you.


#2

2点ほどしたいのですが、

・大量にあるのはExcelのシートですか?それともファイルそのものですか?
・テンプレートということは、シートの中に幾つか場所固定のデータがあり、それを集計して1行に抜き出したい、ということであっていますか?

文章にするとなかなか難しいので、できればサンプルのデータがあったほうが話が早いと思います。


#3

説明不十分で申し訳ございません。
今考えているのは、大量にある申請書ファイルです。
また、シートが申請書形式で、値入力が固定場所となります。
サンプル添付します。申請書.xlsx (10.6 KB)

ファイルがたくさんあり取りまとめて対応しています。
紙文化が残っているのでRPAの対象と考えています。


#4

ざっと見た限り、申請書の「従業員番号・氏名・部署名・内線番号・メールアドレス」が複数行あるようですが、これは複数行で出力する感じでしょうか?

たとえば、

XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345678 山田太郎1……
XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345679 山田太郎2……
XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345680 山田太郎3……

のように取り出すのか、あるいは、

XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345678 山田太郎1……12345679 山田太郎2…12345690 山田太郎3

のように、1レコードにするのか、というところでしょうね。

ただ、どちらにしても基本的な方針は、
・メインのフローでExcelファイル名を取得し、Invoke Workflowで引数として渡す
・受け取ったWorkflowは、Excelファイルを開き、データを読み取ってメインのフローに返す
というような処理になると思います。

Excelを読み取るWorkflowは、Inの引数がString型(ファイル名)で、OutにString[] 型を設定するのがシンプルではあるのかな、と思います
(String[] 型は、Stringが複数、配列になっている型です。変数の型設定で、Array of [T]を選び、元の型としてString[]を選べば作成できます)


#5

ありがとうございます。
excelが保存されているフォルダからファイル名を取得し、配列変数に入れるところまでできました。

XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345678 山田太郎1……
XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345679 山田太郎2……
XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3 12345680 山田太郎3……

この形で別のexcelに保存したいと思います。

ヘッダー部
XXX株式会社 YYY事業部 ZZZ研修所 AAA研修 2018/7/1 2018/7/3

明細部
12345678 山田太郎1……
12345679 山田太郎2……
12345680 山田太郎3……

ヘッダー部・明細部における処理の流れご教示いただければと思います。
何度も申し訳ございません。


#6

ざっくりとサンプル、といいつつ殆ど作ってしまいました。
実運用ではフォーマットが変わったりすると思うので、適宜、調節してみてください。

基本は「ヘッダーを読む部分」と「明細を読む部分」をわけて、明細を読む部分の数だけヘッダーも付与する、といった流れになります。

ExcelMerge.zip (35.7 KB)


#7

ありがとうございます。
1ファイルからのリスト化から始めていました。
解らないままVBAのサンプルを参考にずっと考えていました。
ヘッダーと明細を分けて読み込む、空白部を削除という流れでした。
ここまでシンプルにできるとは感嘆します。
改めてUIPATHの奥深さ感じました。

まだまだ勉強です。