Power AutomateでJSONからExcelテンプレートにデータを入力する:Aspose Smart Markersを使用した4ステップのDropboxワークフロー

Excel テンプレートをドロップして、 Asposeスマートマーカー (セルは次のように記述されます) &=RootData.Items.ItemNameDropbox にデータを保存し、一致する JSON ペイロードを Power Automate フローに貼り付けると、合計が既に計算されたデータ入力済みのワークブックが Dropbox に戻ります。このガイドでは、 正確な4つのアクションの流れ スクリーンショットに表示されているもの:手動トリガー、Dropbox パスを使用してファイルコンテンツを取得します、 PDF4me Excel - 入力、そしてDropbox ファイルを作成するすべてのフィールド値は実際の実行結果に基づいています。入力テンプレート、JSONペイロード、および出力ワークブックはすべて最後にリンクされています。
手動トリガーでフローが開始されます。Dropbox パスを使用してファイルコンテンツを取得します 読む asposeテンプレート.xlsx (ワークブックには実際の Excel が含まれています) テーブル 名前 シンプルインボイス 細胞は次のような &=RootData.Items.ItemName (2行目)。 PDF4me Excel - 入力 JSONペイロード(3レコード:ラップトップ、マウス、キーボード)をワークシートインデックスにマージします 1 数式を再計算しました。Dropbox ファイルを作成する 書く Excel_populate.xlsx (請求書小計) 1,635.00ドル売上税 98.10ドル、 合計 1,585.00ドル) 戻る /出力。
まず、 JSONデータのトップレベルキーはデータソース名と一致する必要があります 細胞マーカーに使用されます。マーカーの例 &=RootData.Items.ItemName JSON をラップしてレコードを RootData.Items[]フィールド名は大文字と小文字を区別します。次に、 ワークシート索引 フィールドは 1 ベースで、カンマ区切りです。テンプレートには 3 つのシートが含まれています (請求書、 シート1、 シート2)。 合格 1 このガイドに示されている詳細な請求書シートのみに情報を入力します。
あなたが構築しているもの
設計済みのExcelテンプレートとJSONペイロードを、ライブ数式を含む完全なデータ入力済みのワークブックに変換する、4つのアクションからなるPower Automateフローです。このパターンは、請求書、在庫レポート、給与明細、売上概要など、構造は同じでも実行ごとに行が変わるあらゆるExcel成果物にも適用できます。

必要なもの
- パワーオートマタ クラウドデザイナーでフローを開いているアカウント。
- PDF4me APIキー。 APIキーを取得してくださいアクションを初めてドロップする際に、PDF4me Connect接続を追加してください。
- Dropbox テンプレート用と出力用の2つのフォルダを用意してください。(どのストレージでも構いません。SharePointの「ファイルのコンテンツを取得」、OneDriveの「ファイルのコンテンツを取得」、Dataverseの「ファイルをダウンロード」はすべて同じようにマッピングされます。)
- Aspose Smart Markersを使用したExcelテンプレート。 ダウンロード
テンプレート.xlsx(また、次のようにも参照される)asposeテンプレート.xlsx(スクリーンショットを参照)を正確に実行してください。 - JSONサンプルデータダウンロード
sheet1-data.json(入れ子になった)ルートデータ.アイテム実行時に使用されたペイロード)。
入力テンプレートの概要
フローを構築する前に、Excel ファイル内でスマート マーカーが実際にどのように表示されるかを確認すると便利です。 請求書 シート template.xlsx1行目はヘッダーです。2行目にはマーカー(列ごとに1つ)が含まれています。3行目から6行目は、あらかじめフォーマットされた空の行です。その下には合計ブロックがあり、 SimpleInvoice Excelのテーブル集計。

シンプルインボイス Excelテーブル。6つのマーカーは以下のとおりです。
| 細胞 | マーカー |
|---|---|
| B2 | &=RootData.Items.ItemName |
| C2 | &=RootData.Items.Description |
| D2 | &=RootData.Items.Qty |
| E2 | &=RootData.Items.UnitPrice |
| F2 | &=RootData.Items.Discount |
| G2 | &=RootData.Items.Price |
合計ブロックは 構造化された参照 通常のA1アドレスの代わりに:
G7 =SUM(SimpleInvoice[Price])
G9 =IFERROR(G7*G8,"")
G11 =SUM(G2:G4)-G10
Excel - Populate がマーカー行を 1 レコードから 3 レコードに拡張すると、 SimpleInvoice テーブルの範囲は自動的に拡張され、 SUM(SimpleInvoice[Price]) 常に右側の列の合計を計算します。これが、このパターンが各行ごとに数式を手動で記述するよりも優れている最大の理由です。
流れを作る
アクション1:フローを手動でトリガーする
テストでは手動トリガーが最速です。本番環境では、 ファイルが作成されたとき(Dropbox)、 アイテムが作成または変更されたとき (SharePoint)、 再発または、新しいJSONペイロードを提供するイベント。
アクション2:Dropbox - パスを使用してファイルコンテンツを取得する
セット ファイルパス テンプレートのDropboxへの完全なパス(ファイル名を含む)を指定してください。
/pdf4metest/excel/populate excel/aspose template.xlsx
下 詳細パラメータ、 コンテンツタイプを推測する 設定されています はい (デフォルト設定)

アクション3:PDF4me - Excel - 入力
ここでマージが行われます。検索 PDF4me アクションピッカーで、次に Excel - 入力以下のフィールドを設定してください。
JSONデータペイロード全体(コピー&ペースト) sheet1-data.json):
{
"RootData": {
"Items": [
{ "ItemName": "Laptop", "Description": "Dell Inspiron 15", "Qty": 2, "UnitPrice": 750, "Discount": 50, "Price": 1450 },
{ "ItemName": "Mouse's", "Description": "Wireless Mouse", "Qty": 3, "UnitPrice": 25, "Discount": 0, "Price": 75 },
{ "ItemName": "Keyboard", "Description": "Mechanical Keyboard", "Qty": 1, "UnitPrice": 120, "Discount": 10, "Price": 110 }
]
}
}

拡大する 詳細パラメータ 4つのオプションコントロールについて。デフォルト値は通常正しいですが、スクリーンショットは各値がUI上でどのように表示されるかを示しています。

アクション4:Dropbox - ファイルの作成
最終ステップでは、入力済みのワークブックをDropboxにアップロードします。
| 分野 | 価値 |
|---|---|
| フォルダパス | /pdf4metest/excel/populate excel/output |
| ファイル名 | Excel_populate.xlsx |
| ファイルの内容 | 出力ファイルの内容 (Excelからの動的コンテンツ - 入力) |

これが全体の流れです。保存してクリックしてください。 テスト。
結果
開けるとき Excel_populate.xlsx から /output フォルダーでは、請求書シートに2行目から4行目に3つのレコードが表示され、合計ブロックにはライブ値が計算されています。 SimpleInvoice テーブル集計。

数式が正しく再計算されたことを示す正確な数値的証明:
| 細胞 | 式 | 結果 |
|---|---|---|
| G7 | =SUM(SimpleInvoice[Price]) | 1,635.00ドル (1450 + 75 + 110) |
| G9 | =IFERROR(G7*G8,"") G8 = 6.00% | 98.10ドル |
| G10 | 静的 50 | 50.00ドル(入金確認済み) |
| G11 | =SUM(G2:G4)-G10 | 1,585.00ドル (1635 + 98.10 - 50 ≈ 四捨五入した表示) |
この実行で生成された実際の出力ワークブックをダウンロードしてください。 output-excel-populate.xlsx。
トラブルシューティング
1列が空欄になります。 JSONプロパティ名がマーカーフィールド名と一致していません。マーカーは大文字と小文字を区別します。 &=RootData.Items.ItemName 受け取りません itemName JSONから。
間違ったシートにデータが入力されました。 チェック ワークシート索引値は1ベースです(0ベースではありません)。パス 1 最初のシートについては、 2 2番目以降も同様です。すべてのシートに情報を入力する場合は、空欄のままにしてください。
合計値 $0.00 ランニング後。 計算式 設定されています いいえ. 切り替えて はい。
数字のように見える文字列は数値に変換されました(またはその逆)。 切り替え 厳密なJSON文字列。 はい 引用符で囲まれたJSONプリミティブをテキストとして保持します。 いいえ 彼らを強制する。
小数点区切り文字や日付形式が、お使いの地域設定に合っていないようです。 変化 文化と言語環境。 en-US、 fr-FR、 de-DE、 ja-JPなどはすべて有効です。
データは受信されるものの、複数のレコードを送信した場合でも、最初の行しか表示されません。 このマーカーは (noadd) 修飾子(&=RootData.Items.ItemName(noadd)) 修飾子を削除して、エンジンが新しい行を挿入するようにします。
このパターンはいつ使用するのか
- CRM明細項目からの請求書生成。 Dynamics、Salesforce、またはHubSpotから行を抽出し、JSONアイテム配列に格納します。そして、デザイン済みのExcel請求書テンプレートを使用してレンダリングします。
- 月次在庫・売上報告書。 繰り返しトリガーとDataverseリストの行、そしてこのフローを組み合わせることで、洗練されたExcel成果物を数分で作成できます。
- 人事名簿、給与明細、経費報告書。 デザインされたExcelレイアウトと新しい行データが出会う場所ならどこでも。
- 受信者が開いて編集できるExcel形式の成果物。 Excel - ネイティブの戻り値を入力する
.xlsx(PDFではないため)受信者は、後続の処理で並べ替え、フィルタリング、数式の調整を行うことができます。