Robotic Crowd

Robotic Crowd

Excelファイルを取得・編集し、変更を保存する

Author: Asao Nakamura 113 views

※本記事で解説する内容は「Excel」に属するアクション群となります。
「ExcelOnline(OneDrive/SharePoint上のxlsxブック対象アクション)」とは異なります。

この記事では、Excelファイルを取得・編集・保存する際の一連の流れを解説します。


 ワークフローの設定例

例として、下記画像のような処理を実行する際の流れを解説します。

※A列2行目以下をC列2行目以下にコピーアンドペーストしています。

下記手順にてワークフローを設定します。

今回は、RoboticCrowdのローカルストレージに存在するExcelファイルを取得します。このために、「ファイルを取得する(GetFile)」アクションを使用します。

・「ストレージプロバイダ」に、Local(Robotic Crowd Strage)を指定
・「ファイル」に、任意のExcelファイルを指定

なお、DropBoxやGoogleDriveに保存されているExcelファイルを扱いたい場合は、以下記事をご参照ください。

[08] ファイルID/ディレクトリID

 

取得したファイルから、編集したいシートを選択・取得します。

「シートを選択する(SelectSheet)」アクションを使用して、各パラメータを下記画像のように指定します。

 

シート名が不明な場合

「ワークシート名」に半角数字の1を入力すると、一番左のシートが取得できます。これはシート名が不明な場合に有効な方法となります。

もし左から2番目のシートを選択したい場合は、半角数字の2を入力してください。

なお、取得したいシート名が半角数字のみで構成されている場合は、以下のような記述としてください。

// 取得したいシート名が半角数字の20210421の場合
${String(20210421)}

拡張子が.xlsの場合

ファイルの拡張子が.xlsxではなく.xlsの場合や、xlsxのサイズが大きすぎる場合は、ミドルウェア入力欄に”xlsx”を指定してください。

なお、ミドルウェアにxlsxを指定してしまうと、上記の「一番左のシートを1とする半角数字指定によるシート取得」が不可能となります。

今回のサンプルでは、A列2行目以下を取得し、その値をそのままC列2行目以下に貼り付けています(単純なコピーアンドペーストです)。

よって、A列2行目以下を「範囲を読み込む(ReadRange)」アクションを使用して取得する必要があります。

指定範囲

A2:A

なお、読み込んだ情報を1行ずつ処理したい場合は、「各要素を繰り返す」をご使用下さい。

[05] 繰り返し(ForEach)

 

3で取得した情報を、C列に転記します。

今回は、シート1にそのまま貼り付けるだけとなるため、「範囲を書き込む(WriteRange)」アクションを1つ使用して、以下のような形で書き込みます。

 

指定範囲(書き込み位置のセルラベル)

C2

シートの編集が終了したため、「ファイルを保存する(SaveFile)」アクションで保存します。

これにより、ローカルストレージにファイルが別名で保存されます。

※上書き保存はできません。

このサンプルではRoboticCrowdのローカルストレージに保存していますが、他のオンラインストレージに保存したい場合は、ストレージプロバイダに他のオンラインストレージのコネクションをご登録ください。

[10] コネクション

[03] Google Driveにファイルを保存する

OneDrive/SharePointに存在するExcelファイルを取り扱いたい場合は、ExcelOnlineに属するアクションをご使用ください。

項目

アクション名
Excel

アクション名
ExcelOnline

備考

ファイルの取得

GetFile

GetWorkbook

 

シートの取得

SelectSheet

なし

Onlineではシート取得と範囲読み込みが1つのアクションで可能

情報の読み込み

ReadCell

ReadRange

GetWorksheetCells

 

情報の書き込み

WriteCell

WriteRange

UpdateWorksheetCells

 

ファイルの保存

SaveFile

なし

OnlineではOneDrive上で自動上書き保存されます(スプレッドシートと同様)

# ファイルを取得
+get_file_1:
  action>: GetFile
  filename: ''
  provider: local
  meta:
    display:
      provider:
        type: chip
        label: 'Local (Robotic Crowd Storage)'
        icon: local

# ワークシートを選択
+select_sheet_1:
  action>: SelectSheet
  filename: +get_file_1
  sheetname: Sheet1

# 範囲を読み込む
+read_range_1:
  action>: ReadRange
  worksheet: +select_sheet_1
  range: 'A2:A'

# 範囲に書き込む
+write_range_1:
  action>: WriteRange
  worksheet: +select_sheet_1
  table: +read_range_1
  celllabel: C2

# ファイルを保存
+save_file_1:
  action>: SaveFile
  filename: +get_file_1
  provider: local
  createPath: false
  meta:
    display:
      provider:
        type: chip
        label: 'Local (Robotic Crowd Storage)'
        icon: local
<Excel>エクセル/ミドルウェア

このページは役に立ちましたか?