Злиття пошти за допомогою Excel в Python

Злиття листів - це розумна техніка для створення персоналізованих документів у великій кількості. Незалежно від того, чи це рахунки, звіти або сертифікати, ви можете використовувати один шаблон і заповнювати його даними з таблиці. Кожен рядок у вашому Excel файлі стає індивідуальним документом. У цьому пості ми покажемо вам, як виконати злиття листів з Excel за допомогою Python з бібліотекою Aspose.Cells.

Ця стаття охоплює такі теми:

Бібліотека для злиття даних з Excel в Python

Ми будемо використовувати Aspose.Cells for Python via .NET для виконання злиття пошти. Він дозволяє вам створювати, читати та маніпулювати електронними таблицями Excel безпосередньо з коду на Python. За допомогою підтримки Smart Markers бібліотека забезпечує безперешкодне зв’язування даних і автоматизацію Excel.

Щоб встановити Aspose.Cells for Python через .NET:

pip install aspose-cells

Злиття пошти за допомогою Aspose.Cells for Python

На відміну від Word, Aspose.Cells використовує смарт-маркери для виконання злиття пошти. Смарт-маркери – це спеціальні теги в шаблонах Excel, які система замінює на фактичні дані під час виконання. Ви визначаєте маркери, наприклад:

&=DataSource.ColumnName

Aspose.Cells обробляє ці маркери по рядках, замінюючи їх на реальні значення з вашого джерела даних, наприклад, списку словників або об’єкта, схожого на DataTable.

Підготуйте шаблон Excel

Створіть файл (наприклад, Template.xlsx) з розумними маркерами:

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

Покрокова інструкція з виконання злиття пошти за допомогою Python

Цей розділ описує процедуру виконання операції злиття пошти, використовуючи шаблони Excel та Aspose.Cells for Python через .NET API. Процес включає в себе завантаження шаблону книги, прив’язку його до джерела даних, виконання обробки розумних маркерів і збереження виходу.

Крок 1: Завантажте шаблон книги

Щоб почати, створіть об’єкт Workbook, завантаживши файл Excel, який містить заздалегідь визначені смарт-маркери.

import aspose.cells as ac

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

Примітка: Шаблон повинен містити смарт-маркери у форматі &=Data.FieldName.

Крок 2: Створити та заповнити джерело даних

Створіть 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, щоб асоціювати робочу книгу з джерелом даних. Це дозволяє автоматично заповнювати Smart Markers під час обробки.

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

Крок 4: Обробка Смарт Маркерів

Виконайте заміну Smart Marker, викликавши метод 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

Наступний приклад демонструє повний процес створення злиття пошти з Excel за допомогою 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)

Забезпечте, щоб розумні маркери в шаблоні Excel відповідали назвам стовпців, визначеним у DataTable. Наприклад, &=Data.Name у шаблоні відповідає стовпцю з назвою \"Name\" у джерелі даних.

Ця реалізація автоматизує завдання генерації документів, такі як рахунки, звіти або сертифікати, не вимагаючи встановлення Microsoft Excel.

Output

Кожен рядок у джерелі даних генерує новий персоналізований рядок у файлі Excel, де були розташовані Смарт-маркери.

Mail Merge з Excel в Python - Вихід

Злиття пошти з Excel в Python - Вихідні дані

Отримайте безкоштовну ліцензію

Ви можете request a free temporary license для оцінки всіх можливостей Aspose.Cells for Python через .NET без обмежень на оцінку.

Ця ліцензія дозволяє необмежене тестування всіх функцій API, включаючи злиття електронної пошти, експорт у PDF та обробку великих наборів даних.

Excel Mail Merge in Python: Безкоштовні ресурси

Висновок

Mail merge from Excel using Python makes it easier to generate documents at scale. With Aspose.Cells Smart Markers, you can quickly automate this process in just a few lines of code. Whether it`s sending invoices, building certificates, or generating reports, the Python API provides full control and flexibility.

Потрібна допомога? Приєднуйтесь до нашого безкоштовного форуму підтримки.

See Also