Mail Merge menggunakan Excel di Python

Mail merge adalah teknik cerdas untuk menghasilkan dokumen pribadi dalam skala besar. Apakah itu faktur, laporan, atau sertifikat, Anda dapat menggunakan satu template dan mengisinya dengan data dari spreadsheet. Setiap baris dalam file Excel Anda menjadi dokumen kustom. Dalam posting ini, kami akan menunjukkan kepada Anda cara melakukan mail merge dari Excel menggunakan Python dengan pustaka Aspose.Cells.

Artikel ini mencakup topik-topik berikut:

Perpustakaan Mail Merge Excel Python

Kami akan menggunakan Aspose.Cells for Python via .NET untuk melakukan penggabungan surat. Ini memungkinkan Anda untuk membuat, membaca, dan memanipulasi spreadsheet Excel langsung dari kode Python. Dengan dukungan untuk Smart Markers, pustaka ini memungkinkan pengikatan data dan otomatisasi Excel yang mulus.

Untuk menginstal Aspose.Cells for Python melalui .NET:

pip install aspose-cells

Mail Merge menggunakan Aspose.Cells for Python

Tidak seperti Word, Aspose.Cells menggunakan Smart Markers untuk melakukan mail merge. Smart Markers adalah tag khusus dalam template Excel yang digantikan sistem dengan data aktual saat runtime. Anda mendefinisikan marker seperti:

&=DataSource.ColumnName

Aspose.Cells memproses penanda ini baris demi baris, menggantinya dengan nilai nyata dari sumber data Anda, seperti daftar kamus atau objek mirip DataTable.

Siapkan Template Excel

Buat file (misalnya, Template.xlsx) dengan Smart Markers:

NamaEmailJumlah
&=Data.Name&=Data.Email&=Data.Amount

Panduan Langkah-demi-Langkah untuk Melakukan Mail Merge Menggunakan Python

Bagian ini menjelaskan prosedur untuk menjalankan operasi mail merge menggunakan template Excel dan Aspose.Cells for Python melalui API .NET. Proses ini mencakup memuat workbook template, mengikatnya ke sumber data, menjalankan pemrosesan Smart Marker, dan menyimpan output.

Langkah 1: Muat Workbook Template

Untuk memulai, buat objek Workbook dengan memuat file Excel yang berisi Smart Marker yang telah ditentukan.

import aspose.cells as ac

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

Catatan: Template harus berisi Smart Markers yang diformat sebagai &=Data.FieldName.

Langkah 2: Buat dan Isi Sumber Data

Buat sebuah DataTable untuk digunakan sebagai sumber data. Definisikan kolom yang diperlukan dan tambahkan baris data yang sesuai dengan Smart Markers dalam template.

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

Setiap nama kolom dalam DataTable harus cocok dengan pengenal penanda yang digunakan dalam template Excel.

Langkah 3: Mengikat Data ke Buku Kerja

Gunakan kelas WorkbookDesigner untuk mengasosiasikan workbook dengan sumber data. Ini memungkinkan Anda untuk secara otomatis mengisi Smart Markers selama pemrosesan.

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

Langkah 4: Proses Penanda Pintar

Lakukan penggantian Smart Marker dengan memanggil metode process(). Ini akan memiterasi sumber data dan menyisipkan nilai ke lokasi yang sesuai dalam workbook.

designer.process()

Langkah 5: Simpan Workbook yang Digabungkan

Simpan workbook yang diproses ke disk dalam format Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

Untuk menghasilkan versi PDF dari buku kerja yang digabungkan, konfigurasikan opsi simpan PDF dan tentukan SaveFormat.PDF selama ekspor.

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

Full Python Code for Mail Merge

Contoh berikut menunjukkan proses lengkap untuk membuat mail merge dari Excel menggunakan 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)

Pastikan bahwa Marker Pintar di template Excel cocok dengan nama kolom yang ditentukan dalam DataTable. Misalnya, &=Data.Name di template sesuai dengan kolom yang bernama \"Name\" di sumber data.

Implementasi ini mengotomatiskan tugas pembuatan dokumen, seperti faktur, laporan, atau sertifikat tanpa memerlukan Microsoft Excel untuk diinstal.

Output

Setiap baris dalam sumber data menghasilkan baris pribadi baru di file Excel di mana Smart Markers ditempatkan.

Mail Merge dari Excel di Python - Keluaran

Mail Merge dari Excel di Python - Output

Dapatkan Lisensi Gratis

Anda dapat request a free temporary license untuk mengevaluasi semua kemampuan Aspose.Cells for Python melalui .NET tanpa batasan evaluasi.

Lisensi ini memungkinkan pengujian tanpa batas dari semua fitur API, termasuk penggabungan email, ekspor PDF, dan penanganan dataset besar.

Excel Mail Merge in Python: Sumber Daya Gratis

Kesimpulan

Mail merge dari Excel menggunakan Python memudahkan untuk menghasilkan dokumen dalam skala besar. Dengan Aspose.Cells Smart Markers, Anda dapat dengan cepat mengotomatisasi proses ini hanya dengan beberapa baris kode. Baik itu mengirim faktur, membuat sertifikat, atau menghasilkan laporan, API Python memberikan kontrol dan fleksibilitas penuh.

Butuh bantuan? Bergabunglah dengan forum dukungan gratis.

Lihat Juga