メインコンテンツへスキップ

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

· 1分で読める
SEO and Content Writer

Excel テンプレートをドロップして、 Asposeスマートマーカー (セルは次のように記述されます) &=RootData.Items.ItemNameDropbox にデータを保存し、一致する JSON ペイロードを Power Automate フローに貼り付けると、合計が既に計算されたデータ入力済みのワークブックが Dropbox に戻ります。このガイドでは、 正確な4つのアクションの流れ スクリーンショットに表示されているもの:手動トリガー、Dropbox パスを使用してファイルコンテンツを取得します、 PDF4me Excel - 入力、そしてDropbox ファイルを作成するすべてのフィールド値は実際の実行結果に基づいています。入力テンプレート、JSONペイロード、および出力ワークブックはすべて最後にリンクされています。

流れの概要
1. Manual trigger
Manually trigger a flow. Replace with any trigger later.
2. Get file content (path)
Dropbox path: /pdf4metest/excel/populate excel/aspose template.xlsx
3. Excel - Populate
PDF4me action. JSON Data with RootData.Items array. Worksheet Indexes: 1 (Invoice sheet).
4. Create file
Dropbox /pdf4metest/excel/populate excel/output, name Excel_populate.xlsx.
要約版

手動トリガーでフローが開始されます。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ドル) 戻る /出力。

出力が正しいかどうかを決定する2つの要素

まず、 JSONデータのトップレベルキーはデータソース名と一致する必要があります 細胞マーカーに使用されます。マーカーの例 &=RootData.Items.ItemName JSON をラップしてレコードを RootData.Items[]フィールド名は大文字と小文字を区別します。次に、 ワークシート索引 フィールドは 1 ベースで、カンマ区切りです。テンプレートには 3 つのシートが含まれています (請求書、 シート1、 シート2)。 合格 1 このガイドに示されている詳細な請求書シートのみに情報を入力します。

あなたが構築しているもの​

設計済みのExcelテンプレートとJSONペイロードを、ライブ数式を含む完全なデータ入力済みのワークブックに変換する、4つのアクションからなるPower Automateフローです。このパターンは、請求書、在庫レポート、給与明細、売上概要など、構造は同じでも実行ごとに行が変わるあらゆるExcel成果物にも適用できます。

Power Automate フローには、手動でフローをトリガーする、Dropbox でパスを使用してファイルコンテンツを取得する、PDF4me Excel - 入力する、Dropbox でファイルを作成する、という 4 つのアクションが含まれています。各アクションには、実行時間 (0 秒、1 秒、0.7 秒、1 秒) と緑色のチェックマークが表示されます。
全体の処理は、最初から最後まで3秒未満で完了します。

必要なもの​

  • パワーオートマタ クラウドデザイナーでフローを開いているアカウント。
  • 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 請求書シート。ヘッダー行 (1) には、品目名、説明、数量、単価、割引、価格が含まれます。2 行目には、スマート マーカー セル: &=RootData.Items.ItemName、&=RootData.Items.Description、&=RootData.Items.Qty、&=RootData.Items.UnitPrice、&=RootData.Items.Discount、&=RootData.Items.Price が含まれます。データ ブロックの下には、請求書小計 $0.00、税率 6.00%、売上税 $0.00、受領済み預金 $50.00、合計 -$50.00 のブロックがあります。
人口増加前のテンプレート。2行目のマーカー。小計/税金/合計の計算式は、 シンプルインボイス 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

下 詳細パラメータ、 コンテンツタイプを推測する 設定されています はい (デフォルト設定)

Dropbox パスを使用してファイルコンテンツを取得するアクション。ファイルパスは /pdf4metest/excel/populate excel/aspose template.xlsx に設定されています。詳細パラメーター「コンテンツタイプの推測」は「はい」です。
Dropbox 実行時に使用された正確なファイルパスを使用して、パスからファイルコンテンツを取得します。

アクション3:PDF4me - Excel - 入力​

ここでマージが行われます。検索 PDF4me アクションピッカーで、次に Excel - 入力以下のフィールドを設定してください。

分野実行時に使用された値
File ContentFile Content from the previous Dropbox step (dynamic content)
JSON DataNested RootData.Items[] array with 3 records (Laptop, Mouse's, Keyboard)
File NamePopulate.xlsx
Worksheet Indexes1 (Invoice sheet)

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 }
]
}
}
PDF4me Excel - 前の Dropbox ステップからマッピングされたファイル コンテンツを使用してアクションを入力。JSON データ テキスト ボックスには、ラップトップ、マウス、キーボードのレコードを含むネストされた RootData.Items 配列が格納されています。ファイル名 Populate.xlsx。ワークシート インデックス 1。
Excel - 正確な JSON データ ブロックを使用してデータを入力し、ワークシート インデックスを 1 に設定します。

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

Excel の詳細パラメーター - 入力。厳密な JSON 文字列 はい。文化と言語の設定 en-US。計算式 はい。引用符の接頭辞をスタイルに適用 はい。
実行時に使用した4つの詳細設定。
先進分野価値これが重要な理由
Strict JSON StringsYesPreserves quoted string primitives (like "55") as text in cells. Set No to coerce them to numbers during merge.
Culture & Language Settingsen-USControls number, date, and currency formatting written into cells. Use fr-FR, de-DE, ja-JP, etc. for non-US locales.
Calculate FormulasYesRecalculates the workbook after population so totals are accurate at open. Set No to skip and recalc downstream.
Quote Prefix To StyleYesCarries Excel's quote-prefix onto styled values so account numbers and ZIPs stay text.

アクション4:Dropbox - ファイルの作成​

最終ステップでは、入力済みのワークブックをDropboxにアップロードします。

分野価値
フォルダパス/pdf4metest/excel/populate excel/output
ファイル名Excel_populate.xlsx
ファイルの内容出力ファイルの内容 (Excelからの動的コンテンツ - 入力)
Dropbox ファイル作成アクション。フォルダパス /pdf4metest/excel/populate excel/output。ファイル名 Excel_populate.xlsx。Excel からマッピングされたファイルコンテンツ - Populate。
Dropboxで、ワークブックの内容が入力済みのファイルを作成します。ファイルコンテンツスロットにワークブックを配置します。

これが全体の流れです。保存してクリックしてください。 テスト。


結果​

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

記入済みの請求書シート。2行目:ノートパソコン / Dell Inspiron 15 / 2 / 750 / $50.00 / $1,450.00。3行目:マウス / ワイヤレスマウス / 3 / 25 / $0.00 / $75.00。4行目:キーボード / メカニカルキーボード / 1 / 120 / $10.00 / $110.00。請求書小計 $1,635.00、税率 6.00%、売上税 $98.10、入金 $50.00、合計 $1,585.00。
処理実行後の同じワークブック。3つのレコードが入力され、小計、売上税、合計がリアルタイムで計算されます。

数式が正しく再計算されたことを示す正確な数値的証明:

細胞式結果
G7=SUM(SimpleInvoice[Price])1,635.00ドル (1450 + 75 + 110)
G9=IFERROR(G7*G8,"") G8 = 6.00%98.10ドル
G10静的 5050.00ドル(入金確認済み)
G11=SUM(G2:G4)-G101,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ではないため)受信者は、後続の処理で並べ替え、フィルタリング、数式の調整を行うことができます。

次に読むべきもの​


よくある質問​

What is the difference between this and Generate Document Single?+
Excel - Populate is the right action when your deliverable is native .xlsx with live formulas and Excel Tables. Generate Document Single targets Word, HTML, or PDF templates and produces a Word, PDF, Excel, or HTML output (template engine is mustache-style, not Smart Markers). Choose based on whether the recipient will work with the file inside Excel or just consume the rendered output.
Does this work with SharePoint or OneDrive instead of Dropbox?+
Yes. Swap the Dropbox actions for SharePoint Get file content / Create file, or OneDrive Get file content / Create file. The Excel - Populate action and all its parameters are identical regardless of the storage source.
How big can the JSON Data payload be?+
Practical limits are bounded by the Power Automate action body size cap (about 100 MB on premium plans, smaller on standard) plus Excel cell limits. For larger payloads, write the JSON to a SharePoint or OneDrive file and reference it via a custom dispatcher pattern, or split the work into one call per sheet using Worksheet Indexes.
Can I populate multiple sheets in a single call?+
Yes. Leave Worksheet Indexes empty (populates every sheet) or pass a comma-separated list like 1,3. The JSON Data top-level keys must contain a data source for each sheet you want populated.
Does this work in Power Automate Desktop?+
PDF4me Connect is a cloud connector available in Power Automate (the web flow designer). For Power Automate Desktop, call the Excel Populate REST endpoint with the HTTP action.
Can I trigger this from email, SharePoint, or a webhook instead of manually?+
Yes. Replace the manual trigger with When a new email arrives (Outlook), When a file is created (Dropbox / SharePoint / OneDrive), When an HTTP request is received, or any other trigger that produces a fresh JSON payload. The remaining three actions stay identical.

さあ始めましょう​