Excelファイルを取得・編集し、変更を保存する
※本記事で解説する内容は「Excel」に属するアクション群となります。
「ExcelOnline(OneDrive/SharePoint上のxlsxブック対象アクション)」とは異なります。
この記事では、Excelファイルを取得・編集・保存する際の一連の流れを解説します。
ワークフローの設定例
下記手順にてワークフローを設定します。
この記事では、AUTORO クラウド版の内容をメインで紹介しています。
AUTORO desktopでは、以下のステップでクラウド版との相違点があります。
詳しくは以下のアコーディオンメニューの該当ステップの下部をご参照ください。
ステップ | クラウド版との違い |
ステップ1 | このステップは不要です |
ステップ2 | SelectSheetの「エクセルファイル名」には、ローカルのファイルのパスを直接指定します |
ステップ5 | このステップは不要です。 ステップ2で指定したファイルが上書き保存されます。 |
このワークフロー例では、以下のsampleワークブックをGetFileアクションで取得しています。
今回は、AUTOROのローカルストレージに存在するExcelファイルを取得します。
このために、「ファイルを取得する(GetFile)」アクションを使用します。
・「ストレージプロバイダ」に、Local(AUTORO)を指定
・「ファイル」に、任意のExcelファイルを指定
なお、DropBoxやGoogleDriveに保存されているExcelファイルを扱いたい場合は、以下記事をご参照ください。
※AUTORO desktopの場合
AUTORO desktopのデスクトップロボットを使用する場合、このステップは飛ばして2に進んでください。
取得したファイルから、編集したいシートを選択・取得します。
「シートを選択する(SelectSheet)」アクションを使用して、各パラメータを下記画像のように指定します。
シート名が不明な場合
「ワークシート名」に半角数字の1を入力すると、一番左のシートが取得できます。これはシート名が不明な場合に有効な方法となります。
もし左から2番目のシートを選択したい場合は、半角数字の2を入力してください。
なお、取得したいシート名が半角数字のみで構成されている場合は、以下のような記述としてください。
// 取得したいシート名が半角数字の20210421の場合
${String(20210421)}
拡張子が.xlsの場合
ファイルの拡張子が.xlsxではなく.xlsの場合や、xlsxのサイズが大きすぎる場合は、ミドルウェア入力欄に”xlsx”を指定してください。
なお、ミドルウェアにxlsxを指定してしまうと、上記の「一番左のシートを1とする半角数字指定によるシート取得」が不可能となります。
※AUTORO desktopの場合
SelectSheetアクションの「エクセルファイル名」に、操作したいExcelファイルのパスを直接ご入力ください。
今回のサンプルでは、A列2行目以下を取得し、その値をそのままC列2行目以下に貼り付けています(単純なコピーアンドペーストです)。
よって、A列2行目以下を「範囲を読み込む(ReadRange)」アクションを使用して取得する必要があります。
指定範囲
A2:A
なお、読み込んだ情報を1行ずつ処理したい場合は、「各要素を繰り返す」をご使用下さい。
3で取得した情報を、C列に転記します。
今回は、シート1にそのまま貼り付けるだけとなるため、「範囲を書き込む(WriteRange)」アクションを1つ使用して、以下のような形で書き込みます。
指定範囲(書き込み位置のセルラベル)
C2
シートの編集が終了したため、「ファイルを保存する(SaveFile)」アクションで保存します。
これにより、ローカルストレージにファイルが別名で保存されます。
※クラウド版では、上書き保存はできません。
このサンプルではAUTOROのローカルストレージに保存していますが、他のオンラインストレージに保存したい場合は、ストレージプロバイダに他のオンラインストレージのコネクションをご登録ください。
※AUTORO desktopの場合
このステップは不要となります。2で指定したローカルファイルが直接上書き保存されるためです。
OneDrive/SharePointに存在するExcelファイルを取り扱いたい場合は、ExcelOnlineに属するアクションをご使用ください。
項目 | アクション名 | アクション名 | 備考 |
ファイルの取得 | GetFile | GetWorkbook |
|
シートの取得 | SelectSheet | なし | Onlineではシート取得と範囲読み込みが1つのアクションで可能 |
情報の読み込み | ReadCell ReadRange | GetWorksheetCells |
|
情報の書き込み | WriteCell WriteRange | UpdateWorksheetCells |
|
ファイルの保存 | SaveFile | なし | OnlineではOneDrive上で自動上書き保存されます(スプレッドシートと同様) |
# ファイルを取得 +get_file_1: action>: GetFile provider: local filename: '' private: false meta: display: provider: type: chip label: 'Local Storage (AUTORO Storage)' icon: local # ワークシートを選択 +select_sheet_1: action>: SelectSheet filename: +get_file_1 sheetname: Sheet1 private: false # 範囲を読み込む +read_range_1: action>: ReadRange worksheet: +select_sheet_1 range: 'A2:A' private: false # 範囲に書き込む +write_range_1: action>: WriteRange worksheet: +select_sheet_1 table: +read_range_1 celllabel: C2 private: false # ファイルを保存 +save_file_1: action>: SaveFile provider: local filename: +get_file_1 createPath: false private: false meta: display: provider: type: chip label: 'Local Storage (AUTORO Storage)' icon: local