Automatisasi pembuatan dokumen yang dipersonalisasi—seperti laporan, surat, dan faktur—dapat secara signifikan meningkatkan efisiensi dalam alur kerja Anda. Dengan C# Mail Merge yang didukung oleh Aspose.Words untuk .NET, Anda dapat mencapai ini dengan lancar. Panduan ini akan memandu Anda menggunakan Aspose.Words Mail Merge Plugin untuk melakukan generasi dokumen yang efisien dan dapat diskalakan dalam aplikasi .NET Anda—tanpa perlu MS Word atau Office Interop. Di akhir panduan ini, Anda akan siap untuk mengintegrasikan C# mail merge untuk otomatisasi laporan dan menyederhanakan alur kerja pelaporan Anda.
Daftar Isi
- Apa itu Mail Merge?
- Sumber Data untuk Mail Merge
- Mempersiapkan Template Mail Merge
- Memulai dengan Aspose.Words untuk .NET
- Melakukan Mail Merge dengan Data Contoh
- Mail Merge dengan Data XML
- Format Kustom Field Merge
- Mail Merge dengan Wilayah
- Mail Merge Bersarang
- Kesimpulan
Apa itu Mail Merge?
Mail Merge adalah metodologi yang kuat untuk secara dinamis menghasilkan dokumen dengan mengisi template dengan data dari berbagai sumber. Dengan Aspose.Words, Anda dapat mengotomatiskan tugas seperti:
- Menghasilkan surat dan faktur yang dipersonalisasi.
- Membuat laporan massal menggunakan format terstruktur seperti XML, JSON, atau basis data, memungkinkan generasi laporan dinamis dengan C# dan Aspose.Words.
Sumber Data untuk Mail Merge
Aspose.Words mendukung berbagai sumber data, termasuk:
- Objek: Mengisi template menggunakan instance kelas.
- XML: Memuat data terstruktur untuk field dinamis.
- JSON: Mudah terintegrasi dengan API modern.
- CSV: Memanfaatkan data tabular untuk generasi dokumen massal.
- DataTable/DataSet: Memanfaatkan ADO.NET untuk integrasi basis data.
Mempersiapkan Template untuk Mail Merge
Template mail merge adalah dokumen yang berisi field merge yang akan diisi dengan data dari sumber data yang Anda tentukan selama eksekusi. Template dapat dalam format DOC atau DOCX dan tidak memerlukan gaya tertentu. Ikuti langkah-langkah berikut untuk membuat template mail merge:
- Buka dokumen Anda atau buat yang baru di MS Word.
- Tempatkan kursor di tempat Anda ingin menyisipkan field merge.
- Dari menu Insert, pilih opsi Field.
- Dari daftar Field names, pilih MergeField.
- Tentukan nama untuk field merge di kotak Field name dan klik OK.
- Simpan dokumen.
Tangkapan layar berikut menggambarkan template contoh dokumen.

.NET Mail Merge API - Instalasi
Anda dapat menginstal Aspose.Words untuk .NET melalui berbagai metode:
Melakukan Mail Merge dalam Dokumen Word menggunakan C#
Setelah template Anda siap, Anda dapat mengeksekusi mail merge untuk menghasilkan dokumen. Berikut adalah langkah-langkah untuk melakukan mail merge pada template yang telah Anda siapkan:
- Muat dokumen template menggunakan kelas Document.
- Atur opsi mail merge yang diperlukan, seperti Document.MailMerge.TrimWhitespaces.
- Eksekusi mail merge menggunakan metode Document.MailMerge.Execute(), dengan melewatkan sumber data sebagai parameter.
- Simpan dokumen yang dihasilkan menggunakan metode Document.Save(String).
Berikut adalah contoh kode yang menunjukkan bagaimana mengotomatiskan generasi laporan dalam C# menggunakan array nilai:
Dokumen Word setelah Mail Merge

Melakukan Mail Merge menggunakan Sumber Data XML dalam C#
File XML umumnya digunakan untuk menyimpan dan mentransfer data. Aspose.Words untuk .NET mendukung XML sebagai sumber data untuk operasi mail merge. Cukup baca XML ke dalam objek DataSet dan eksekusi mail merge. Berikut adalah contoh file XML untuk kasus penggunaan kita.
<customers>
<customer Name="John Ben Jan" ID="1" Domain="History" City="Boston"/>
<customer Name="Lisa Lane" ID="2" Domain="Chemistry" City="LA"/>
<customer Name="Dagomir Zits" ID="3" Domain="Heraldry" City="Milwaukee"/>
<customer Name="Sara Careira Santy" ID="4" Domain="IT" City="Miami"/>
</customers>
Contoh kode berikut mengambil data dari sumber data XML dan mengeksekusi mail merge menggunakan C#.
Di bawah ini adalah template mail merge yang akan diisi dengan data dari file XML.

Gambar ini mewakili halaman pertama dari dokumen Word yang dihasilkan setelah mengeksekusi mail merge.

Format Kustom Field Merge
Aspose.Words untuk .NET memberikan kontrol yang lebih baik atas proses mail merge. Properti MailMerge.FieldMergingCallback memungkinkan Anda mengonfigurasi perilaku mail merge saat setiap field merge ditemukan. Mengimplementasikan metode IFieldMergingCallback.FieldMerging dan IFieldMergingCallback.ImageFieldMerging memungkinkan kustomisasi operasi mail merge.
Berikut adalah contoh kode yang menunjukkan bagaimana menerapkan format kustom selama mail merge melalui template contoh yang disediakan:
Berikut ini mengimplementasikan kelas HandleMergeFieldAlternatingRows.
Mail Merge dengan Wilayah menggunakan C#
Dalam beberapa kasus, Anda mungkin perlu mengisi dan mengulang wilayah tertentu dalam dokumen Word. Untuk skenario semacam itu, gunakan mail merge dengan wilayah. Untuk membuat wilayah, tentukan baik awal maupun akhir wilayah; mail merge kemudian akan mengulangi wilayah ini untuk setiap catatan dalam sumber data. Contoh template di bawah ini berisi dua wilayah—Orders dan OrderDetails—menggunakan field merge «TableStart:Orders», «TableEnd:Orders», «TableStart:OrderDetails», dan «TableEnd:OrderDetails».

Berikut adalah contoh kode yang mengeksekusi mail merge berdasarkan wilayah untuk template yang disebutkan sebelumnya.
Metode berikut menggambarkan bagaimana membaca data dari basis data.
Mail Merge Bersarang
Seringkali, data dari sumber disusun dalam format relasional. Misalnya, “Orders” mungkin memiliki hubungan satu-ke-banyak dengan “OrderDetails,” yang menyimpan catatan barang dalam sebuah pesanan. Dalam skenario semacam itu, gunakan mail merge bersarang. Berikut adalah contoh template faktur yang cocok untuk skenario ini.

Berikut adalah sumber data XML untuk contoh mail merge bersarang kita.
<?xml version="1.0" encoding ="utf-8"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="OrdersSchema.xsd">
<Order>
<Number>23</Number>
<Address>Nelson Street</Address>
<Suburb>Howick</Suburb>
<City>Auckland</City>
<Phonenumber>543 1234</Phonenumber>
<Date>03/01/2010</Date>
<Total>14.00</Total>
<Item>
<Name>BBQ Chicken Pizza</Name>
<Price>6.00</Price>
<Quantity>1</Quantity>
<ItemTotal>6.00</ItemTotal>
</Item>
<Item>
<Name>1.5 Litre Coke</Name>
<Price>4.00</Price>
<Quantity>2</Quantity>
<ItemTotal>8.00</ItemTotal>
</Item>
</Order>
<Order>
<Number>10</Number>
<Address>Parkville Avenue</Address>
<Suburb>Pakuranga</Suburb>
<City>Auckland</City>
<Phonenumber>548 7342</Phonenumber>
<Date>05/03/2010</Date>
<Total>6.00</Total>
<Item>
<Name>Hawaiian Pizza</Name>
<Price>4.00</Price>
<Quantity>1</Quantity>
<ItemTotal>4.00</ItemTotal>
</Item>
<Item>
<Name>Fries</Name>
<Price>1.00</Price>
<Quantity>2</Quantity>
<ItemTotal>2.00</ItemTotal>
</Item>
</Order>
</Orders>
File OrderSchema.xsd yang sesuai untuk XML ini adalah:
<?xml version="1.0" encoding ="utf-8"?>
<xs:schema id="OrdersSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Orders">
<xs:complexType>
<xs:sequence>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Number"/>
<xs:element name="Address"/>
<xs:element name="Suburb"/>
<xs:element name="City"/>
<xs:element name="Phonenumber"/>
<xs:element name="Date"/>
<xs:element name="Total"/>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="Name"/>
<xs:element name="Price"/>
<xs:element name="Quantity"/>
<xs:element name="ItemTotal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Contoh kode berikut mengeksekusi mail merge bersarang menggunakan C#.
Dokumen Word setelah Mail Merge
Di bawah ini adalah halaman pertama dari dokumen Word yang dihasilkan setelah mengeksekusi mail merge bersarang.

Kesimpulan
Aspose.Words untuk .NET adalah API mail merge yang komprehensif yang menyediakan fitur standar dan diperluas yang cocok untuk aplikasi .NET. Dengan hanya beberapa baris kode, Anda dapat mengembangkan laporan sederhana atau kompleks dari berbagai sumber data dengan lancar. Untuk panduan tentang praktik terbaik generasi laporan otomatis .NET, konsultasikan dokumentasi. Untuk memulai dengan Aspose.Words untuk .NET, jelajahi panduan pengembang dan kode contoh yang tersedia di GitHub. Aspose Plugin juga menawarkan fungsionalitas lanjutan untuk generasi laporan.
Coba Aspose.Words untuk .NET Secara Gratis
Anda dapat memperoleh lisensi sementara gratis untuk mencoba Aspose.Words untuk .NET tanpa batasan. Dapatkan lisensi sementara Anda sekarang.