Pendahuluan
Mengotomatiskan pembuatan dokumen yang dipersonalisasi—seperti laporan, surat, dan faktur—dapat menghemat waktu dan usaha Anda. Dengan C# Mail Merge yang didukung oleh Aspose.Words untuk .NET, Anda dapat mencapainya dengan mudah. Panduan ini akan memandu Anda menggunakan Plugin Mail Merge Aspose.Words untuk melakukan pembuatan dokumen yang efisien dan dapat diskalakan dalam aplikasi .NET Anda—tanpa perlu MS Word atau Office Interop. Di akhir, Anda akan siap untuk mengintegrasikan C# mail merge untuk otomatisasi laporan dan menyederhanakan alur kerja pelaporan Anda.
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 Field Merge Kustom
- 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-tugas seperti:
- Menghasilkan surat dan faktur yang dipersonalisasi.
- Membuat laporan massal menggunakan format terstruktur seperti XML, JSON, atau basis data, memungkinkan pembuatan 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 pembuatan dokumen massal.
- DataTable/DataSet: Menggunakan 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.
Screenshot berikut mengilustrasikan dokumen template contoh.

API Mail Merge .NET - 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 memasukkan sumber data sebagai parameter.
- Simpan dokumen yang dihasilkan menggunakan metode Document.Save(String).
Berikut adalah contoh kode yang menunjukkan bagaimana mengotomatiskan pembuatan laporan di 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 kami.
<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#.
Berikut adalah template mail merge yang akan diisi dengan data dari file XML.

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

Format Kustom dari Field Merge
Aspose.Words untuk .NET memberikan kontrol yang lebih baik atas proses mail merge. Properti MailMerge.FieldMergingCallback memungkinkan Anda untuk 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 mengulangi 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 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 menunjukkan cara membaca data dari basis data.
Wilayah Mail Merge Bersarang
Seringkali, data dari sumber terstruktur 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 kami.
<?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>Pizza Ayam BBQ</Name>
<Price>6.00</Price>
<Quantity>1</Quantity>
<ItemTotal>6.00</ItemTotal>
</Item>
<Item>
<Name>Coke 1.5 Liter</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>Pizza Hawaii</Name>
<Price>4.00</Price>
<Quantity>1</Quantity>
<ItemTotal>4.00</ItemTotal>
</Item>
<Item>
<Name>Kentang Goreng</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
Berikut 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 tambahan yang cocok untuk aplikasi .NET. Dengan hanya beberapa baris kode, Anda dapat mengembangkan laporan sederhana atau kompleks dari berbagai sumber data dengan mudah. Untuk panduan mengenai praktik terbaik pembuatan laporan otomatis .NET, konsultasikan dokumentasi. Untuk memulai dengan Aspose.Words untuk .NET, jelajahi panduan pengembang dan kode contoh yang tersedia di GitHub. Plugin Aspose juga menawarkan fungsionalitas lanjutan untuk pembuatan 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.