月に一回学習進捗報告をGmailで送信するプロジェクト【ASTERIA WarpとGoogleSheets連携】 その③

今回はGoogleSheetsGetコンポーネントを利用してGoogleSheet進捗状況9月内にある学習進捗内容を取得し、親に報告するため各シートの内容をpdf化していきます。

ASTERIA WarpGoogleSheetsの連携】
 
事前準備とGoogle Sheetsコネクション作成
 https://scominc.co.jp/blog/2024/10/asteria-warpgooglesheets-1.html

ASTERIA WarpGmailの連携】 
 事前準備とGmailコネクション作成

ASTERIA WarpGoogleSheetsの連携】←今回紹介
 Google Sheets Getを利用して、各シートの進捗内容を取得

ASTERIA WarpGmailの連携】
 Gmailで進捗報告を送信

************************

以下のような学生3名の進捗状況が記載されているGoogleSheetがございます。

学生Aさん、Bさん、Cさんの内容をGoogleSheetsGetコンポーネントによりループされて取得をする

進捗状況9月の内容

以下のフローはGoogleSheets進捗状況9月にある学生3名の進捗状況を取得し、取得した内容をPDF生成して、pdfファイルを出力している内容です。

GoogleSheets進捗状況9月にある人数分をpdfファイル出力した後は、SubFlowコンポーネントでGmail送信フローを呼び出してます。

フロー全体図

フローの詳細説明

・1つ目のGoogleSheetsGetコンポーネントでSheetNameを条件により対象のSheetNameを取得

 ※SQL文を直接入力ではなく、SQLビルダーにより自動で作成

1つ目のGoogleSheetsGetコンポーネントの内容

・1つ目のMapperコンポーネントでは入力ストリーム(SheetName)をフロー変数(SheetName)へマッピングする

1つ目のMapperコンポーネントの内容

2つ目のGoogleSheetsGetコンポーネントでは上記取得したSheetNameと一致するテーブルの内容を取得

 ※SQL文は直接入力をする、以下のようにSELECT文を動的に作成 

SELECT * FROM GoogleSheets.進捗状況9_${flow.SheetName}

2つ目のGoogleSheetsGetの内容

2つ目のMapperコンポーネントではPDF生成するために、上記取得した内容をマッピングとtitle作成を行う

 titleは〇月の進捗状況詳細書のように〇の部分は動的に入ってくる値となる

2つ目のMapperコンポーネント内容

PDFコンポーネントでpdf生成を行う

 レコードを追加、単一セルを追加して、取得したい内容を設定し、登録を行う

 ※PDFコンポーネントの直前のMapperのフィールド名はPDFビルダーで設定された内容により定義される

PDFビルダー

FilePutコンポーネントで生成されたpdf内容を出力する

 FilePutの設定は基本の「ファイルパス」プロパティにpdfファイルの出力パスを設定する

・LoopEndコンポーネントでGoogleSheets進捗状況9月にある人数分のループを実行後、次のコンポーネントに制御が移り

・SubFlowコンポーネントでGmail送信フローを呼び出す