Pendahuluan
Hemat waktu dan usaha dengan mengotomatiskan pembuatan dokumen pribadi seperti laporan, surat, dan faktur dengan C# Mail Merge yang didukung oleh Aspose.Words untuk .NET. Panduan ini menjelaskan cara memanfaatkan Plugin Mail Merge Aspose.Words untuk melakukan pembuatan dokumen yang efisien dan skalabel dalam aplikasi .NET Anda—tanpa memerlukan MS Word atau Office Interop. Anda akan belajar untuk mengintegrasikan C# mail merge untuk otomatisasi laporan, memungkinkan Anda menyederhanakan alur kerja pelaporan Anda.
Isi:
- Apa itu Mail Merge?
- Sumber Data untuk Mail Merge
- Menyiapkan 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
- Nested Mail Merge
- Kesimpulan
Apa itu Mail Merge?
Mail Merge adalah metode untuk secara dinamis menghasilkan dokumen dengan mengisi template dengan data dari berbagai sumber. Dengan Aspose.Words, Anda dapat dengan mudah mengotomatiskan tugas seperti:
- Menghasilkan surat dan faktur dengan detail yang dipersonalisasi.
- Membuat laporan massal menggunakan data dari 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:
- Objek: Mengisi template menggunakan instance kelas.
- XML: Memuat data terstruktur untuk field dinamis.
- JSON: Mudah terintegrasi dengan API modern.
- CSV: Memanfaatkan data tabel untuk pembuatan dokumen massal.
- DataTable/DataSet: Memanfaatkan ADO.NET untuk integrasi basis data.
Menyiapkan Template untuk Mail Merge
Template mail merge adalah dokumen yang mengandung field merge yang akan diisi dengan data dari sumber data yang ditentukan saat eksekusi. Template dapat dalam format DOC atau DOCX; tidak memerlukan gaya template 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 tersebut.
Screenshot berikut menggambarkan sebuah 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, lakukan mail merge untuk menghasilkan dokumen. Berikut adalah langkah-langkah untuk melakukan mail merge pada template yang telah disiapkan:
- Muat dokumen template menggunakan kelas Document.
- Tetapkan opsi mail merge yang diperlukan, seperti Document.MailMerge.TrimWhitespaces.
- Lakukan 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 cara mengotomatiskan pembuatan laporan dalam C# menggunakan array nilai:
Dokumen Word setelah Mail Merge
Melakukan Mail Merge menggunakan Sumber Data XML dalam C#
File XML sering digunakan untuk menyimpan dan mentransfer data. Aspose.Words untuk .NET juga mendukung XML sebagai sumber data untuk operasi mail merge. Cukup baca XML ke dalam objek DataSet dan eksekusi mail merge. Berikut adalah file XML contoh 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 menjalankan 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 menjalankan mail merge.
Format Kustom Field Merge
Aspose.Words untuk .NET menyediakan kontrol yang lebih baik atas proses mail merge. Properti MailMerge.FieldMergingCallback memungkinkan Anda untuk mengonfiguresi 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 cara menerapkan format kustom selama mail merge melalui template contoh yang diberikan:
Berikut ini adalah implementasi kelas HandleMergeFieldAlternatingRows.
Mail Merge dengan Wilayah menggunakan C#
Dalam beberapa kasus, Anda mungkin perlu mengisi dan mengulangi wilayah tertentu dalam dokumen Word. Untuk kasus seperti itu, gunakan mail merge dengan wilayah. Untuk membuat wilayah, tentukan baik awal dan 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 menunjukkan bagaimana membaca data dari basis data.
Wilayah Nested Mail Merge
Seringkali, data dari sumber terstruktur dalam format relasional. Sebagai contoh, “Orders” mungkin memiliki hubungan satu-ke-banyak dengan “OrderDetails,” yang menyimpan catatan item dalam pesanan. Dalam skenario seperti itu, gunakan nested mail merge. Berikut adalah template faktur yang sesuai dengan skenario ini.
Berikut adalah sumber data XML untuk contoh nested mail merge 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>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>Gorengan</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 menjalankan nested mail merge menggunakan C#.
Dokumen Word setelah Mail Merge
Berikut adalah halaman pertama dokumen Word yang dihasilkan setelah menjalankan nested mail merge.
Kesimpulan
Aspose.Words untuk .NET adalah API mail merge yang komprehensif yang menyediakan fitur standar dan lanjutan 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 tentang praktik terbaik pembuatan laporan otomatis .NET, konsultasikan dokumentasi. Untuk memulai dengan Aspose.Words untuk .NET, jelajahi panduan pengembang dan contoh kode yang tersedia di GitHub. Plugin Aspose juga menawarkan fungsionalitas tingkat lanjut untuk pembuatan laporan.
Cobalah 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.