Слияние почты с использованием Excel в Python

Слияние почты — это умная техника для массового создания персонализированных документов. Будь то счета, отчеты или сертификаты, вы можете использовать один шаблон и заполнять его данными из таблицы. Каждая строка в вашем файле Excel становится индивидуальным документом. В этом посте мы покажем вам, как выполнить слияние почты из Excel с помощью Python и библиотеки Aspose.Cells.

Эта статья охватывает следующие темы:

Библиотека Python для слияния почты Excel

Мы будем использовать 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 через API .NET. Процесс включает в себя загрузку шаблона рабочей книги, привязку к источнику данных, выполнение обработки умных маркеров и сохранение результата.

Шаг 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: Привяжите данные к workbook

Используйте класс WorkbookDesigner, чтобы связать книгу с источником данных. Это позволяет автоматически заполнять умные маркеры во время обработки.

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)

Полный код Python для слияния почты

Следующий пример демонстрирует полный процесс создания почтовой рассылки из 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, в котором были размещены умные маркеры.

Слияние почты из Excel в Python - Вывод

Слияние почты из Excel в Python - Вывод

Получить бесплатную лицензию

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

Эта лицензия позволяет неограниченное тестирование всех функций API, включая слияние почты, экспорт PDF и обработку больших наборов данных.

Excel Mail Merge in Python: Бесплатные ресурсы

Заключение

Слияние писем из Excel с использованием Python облегчает генерацию документов в большом объеме. С помощью Smart Markers Aspose.Cells вы можете быстро автоматизировать этот процесс всего за несколько строк кода. Будь то отправка счетов, создание сертификатов или генерация отчетов, API Python предоставляет полный контроль и гибкость.

Нужна помощь? Присоединяйтесь к нашему free support forum.

See Also