Mail Merge pomocí Excelu v Pythonu

Fúze pošty je chytrá technika pro generování personalizovaných dokumentů ve velkém měřítku. Ať už se jedná o faktury, zprávy nebo certifikáty, můžete použít jeden šablonu a naplnit ji daty z tabulky. Každý řádek ve vašem souboru Excel se stává vlastním dokumentem. V tomto příspěvku vám ukážeme, jak provést fúzi pošty z Excelu pomocí Pythonu s knihovnou Aspose.Cells.

Tento článek se zabývá následujícími tématy:

Python Excel Mail Merge Library

Budeme používat Aspose.Cells for Python via .NET k provedení hromadné korespondence. Umožňuje vám vytvářet, číst a manipulovat s Excel tabulkami přímo z Python kódu. S podporou Smart Markers knihovna umožňuje bezproblémové propojení dat a automatizaci Excelu.

Chcete-li nainstalovat Aspose.Cells for Python přes .NET:

pip install aspose-cells

Mail Merge pomocí Aspose.Cells for Python

Na rozdíl od Wordu, Aspose.Cells používá Smart Markery pro provádění hromadné korespondence. Smart Markery jsou speciální štítky v Excelových šablonách, které systém nahrazuje skutečnými daty za běhu. Definujete markery jako:

&=DataSource.ColumnName

Aspose.Cells zpracovává tyto značky po řádcích, nahrazuje je skutečnými hodnotami z vašeho datového zdroje, jako je seznam slovníků nebo objekt podobný DataTable.

Připravte šablonu Excelu

Vytvořte soubor (např. Template.xlsx) se Smart Markery:

NameEmailAmount
&=Data.Name&=Data.Email&=Data.Amount

Krok za krokem návod, jak provést hromadnou korespondenci pomocí Pythonu.

Tato část popisuje postup provedení sloučení pošty pomocí šablon Excel a Aspose.Cells for Python prostřednictvím .NET API. Proces zahrnuje načtení šablony pracovního sešitu, její propojení s datovým zdrojem, provedení zpracování chytrých značek a uložení výstupu.

Krok 1: Načtěte šablonu sešitů

Abychom začali, vytvořte objekt Workbook načtením souboru Excel, který obsahuje předdefinované Smart Markery.

import aspose.cells as ac

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

Poznámka: Šablona musí obsahovat inteligentní značky ve formátu &=Data.FieldName.

Krok 2: Vytvořte a naplňte datový zdroj

Vytvořte DataTable, který bude sloužit jako zdroj dat. Definujte požadované sloupce a přidejte datové řádky, které odpovídají chytrým značkám v šabloně.

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])

Každé názvy sloupců v DataTable by měly odpovídat identifikátorům značek použitým v šabloně Excel.

Krok 3: Přiřaďte data k sešitu

Použijte třídu WorkbookDesigner k přiřazení sešitu k datovému zdroji. To vám umožní automaticky vyplnit chytré značky během zpracování.

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

Krok 4: Zpracovat inteligentní značky

Proveďte nahrazení chytrého markeru vyvoláním metody process(). Ta projde datovým zdrojem a vloží hodnoty na odpovídající místa v pracovním sešitě.

designer.process()

Krok 5: Uložte sloučenou pracovní knihu

Uložte zpracovaný sešit na disk ve formátu Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

Chcete-li vygenerovat PDF verzi sloučené tabulky, nakonfigurujte možnosti uložení PDF a během exportu specifikujte SaveFormat.PDF.

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

Full Python Code for Mail Merge

Následující příklad demonstruje kompletní proces vytváření hromadného tisku z Excelu pomocí Aspose.Cells for Python.

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)

Zajistěte, aby chytré značky v šabloně Excel odpovídaly názvům sloupců definovaným v DataTable. Například &=Data.Name v šabloně odpovídá sloupci s názvem \"Name\" ve zdroji dat.

Tato implementace automatizuje úkoly generování dokumentů, jako jsou faktury, zprávy nebo certifikáty, aniž by byla vyžadována instalace Microsoft Excelu.

Output

Každý řádek v datovém zdroji generuje nový personalizovaný řádek v Excelovém souboru, kde byly umístěny inteligentní značky.

Mail Merge z Excelu v Pythonu - Výstup

Sloučení pošty z Excelu v Pythonu - Výstup

Získejte zdarma licenci

Můžete request a free temporary license pro vyhodnocení plných schopností Aspose.Cells for Python přes .NET bez hodnotících omezení.

Tato licence umožňuje neomezené testování všech funkcí API, včetně slučování pošty, exportu PDF a zpracování velkých datových sad.

Excel Mail Merge in Python: Free Resources

Závěr

Mail merge z Excelu pomocí Pythonu usnadňuje generování dokumentů ve velkém. S chytrými značkami Aspose.Cells můžete rychle automatizovat tento proces pouze několika řádky kódu. Ať už se jedná o odesílání faktur, vytváření certifikátů nebo generování zpráv, Python API poskytuje plnou kontrolu a flexibilitu.

Potřebujete pomoc? Připojte se k našemu free support forum.

See Also