Excelを使用したメールマージをPythonで行う

メールマージは、大量のパーソナライズされた文書を生成するためのスマートな技術です。請求書、報告書、または証明書など、単一のテンプレートを使用し、スプレッドシートからデータを埋め込むことができます。Excel ファイルの各行はカスタム文書になります。この記事では、Aspose.Cells ライブラリを使用して、Excel から Python でメールマージを実行する方法を示します。

この記事では、以下のトピックがカバーされています:

Python Excel Mail Merge Library

私たちは、メールマージを実行するために Aspose.Cells for Python via .NET を使用します。これにより、Pythonコードから直接Excelスプレッドシートを作成、読み取り、および操作することができます。Smart Markersをサポートしているため、このライブラリはシームレスなデータバインディングとExcelの自動化を可能にします。

Aspose.Cells for Python via .NET をインストールするには:

pip install aspose-cells

Aspose.Cellsを使用したPythonでのメールマージ

Wordとは異なり、Aspose.Cellsはスマートマーカーを使用してメールマージを実行します。スマートマーカーは、システムがランタイムで実際のデータに置き換えるExcelテンプレート内の特別なタグです。マーカーは次のように定義します:

&=DataSource.ColumnName

Aspose.Cells は、これらのマーカーを行ごとに処理し、辞書のリストや DataTable のようなオブジェクトなど、データソースからの実際の値で置き換えます。

Excelテンプレートを準備してください。

ファイルを作成します (例: Template.xlsx) スマートマーカーを使用して:

名前メール金額
&=Data.Name&=Data.Email&=Data.Amount

Mail MergeをPythonを使って実行するためのステップバイステップガイド

このセクションでは、ExcelテンプレートとAspose.Cells for Python via .NET APIを使用してメールマージ操作を実行する手順について説明します。このプロセスには、テンプレートワークブックの読み込み、データソースへのバインディング、スマートマーカー処理の実行、および出力の保存が含まれます。

ステップ 1: テンプレート ワークブックをロードする

最初に、事前定義されたスマートマーカーを含むExcelファイルを読み込むことによって Workbook オブジェクトをインスタンス化します。

import aspose.cells as ac

workbook = ac.Workbook("Template.xlsx")

注: テンプレートには &=Data.FieldName 形式のスマートマーカーを含める必要があります。

ステップ2:データソースを作成し、 populateしてください

DataTableを作成してデータソースとして機能させます。必要な列を定義し、テンプレートのスマートマーカーに対応するデータ行を追加します。

table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")

table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

DataTable の各列名は、Excel テンプレートで使用されるマーカー識別子と一致する必要があります。

ステップ 3: データをワークブックにバインドする

WorkbookDesigner クラスを使用して、ワークブックをデータソースに関連付けます。これにより、処理中にスマートマーカーを自動的にポピュレートすることができます。

designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)

ステップ 4: スマートマーカーを処理する

スマートマーカーの置換を実行するには、process() メソッドを呼び出してください。これにより、データソースを反復処理し、ワークブックの対応する場所に値が挿入されます。

designer.process()

ステップ 5: マージされたワークブックを保存する

ディスクにExcel形式で処理されたワークブックを保存します。

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

マージされたワークブックのPDFバージョンを生成するには、PDF保存オプションを構成し、エクスポート時に SaveFormat.PDF を指定します。

pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Full Python Code for Mail Merge

次の例は、Aspose.Cells for Pythonを使用してExcelからメールマージを作成する完全なプロセスを示しています。

import aspose.cells as ac

# Load template
workbook = ac.Workbook("Template.xlsx")

# Create data source
table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")
table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

# Connect data source
designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)
designer.process()

# Save output
workbook.save("MergedOutput.xlsx")

# Export to PDF
pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Excel テンプレート内のスマート マーカーが DataTable で定義された列名と一致していることを確認してください。たとえば、テンプレート内の &=Data.Name はデータ ソース内の \"Name\" という名前の列に対応します。

この実装は、Microsoft Excelをインストールすることなく、請求書、レポート、または証明書などの文書生成タスクを自動化します。

Output

データソースの各行は、スマートマーカーが配置されたExcelファイルに新しいパーソナライズされた行を生成します。

ExcelからPythonでのメールマージ - 出力

ExcelからPythonのメールマージ - 出力

無料ライセンスを取得する

あなたは request a free temporary license を要求して、評価制限なしに .NETを介してPython用Aspose.Cellsの全機能を評価することができます。

このライセンスにより、メールマージ、PDFエクスポート、大規模データセットの処理を含むすべてのAPI機能の制限なしのテストが可能になります。

Excel Mail Merge in Python: Free Resources

結論

ExcelからPythonを使用してのメールマージは、大規模なドキュメント生成を容易にします。Aspose.Cells Smart Markersを使用すると、わずか数行のコードでこのプロセスを迅速に自動化できます。請求書の送信、証明書の作成、またはレポートの生成に関係なく、Python APIは完全なコントロールと柔軟性を提供します。

助けが必要ですか?私たちの free support forum に参加してください。

See Also