Mengautomatikkan penciptaan dokumen yang disesuaikan – seperti laporan, surat, dan invois – boleh meningkatkan kecekapan dalam aliran kerja anda.Dengan **C# Mail Merge ** yang didorong oleh **Aspose.Words untuk .NET ** , anda boleh mencapai ini dengan mudah.Panduan ini akan berjalan melalui anda menggunakan Aspose-Word Mail merge Plugin untuk menjalankan pengeluaran dokumen secara cekap dan boleh skala dalam aplikasi .Net anda – tanpa keperluan untuk MS Word atau Office Interop.
Contents
- Apakah yang dimaksudkan dengan Mail Merge?
- Sumber Data untuk Mail Merge
- Menyediakan Mail Merge Template
- Bermula dengan Aspose.Words untuk .NET
- Menjalankan e-mel menggabungkan dengan sampel data
- E-mel menggabungkan data XML
- Custom Merge Field Format
- E-mel digabungkan dengan rantau
- Perbincangan:Nested Mail Merge
- Conclusion
Apakah yang dimaksudkan dengan Mail Merge?
Mail Merge merupakan kaedah yang kuat untuk menghasilkan dokumen secara dinamik dengan menampung templat dengan data daripada pelbagai sumber. Aspose.Words , anda boleh mengautomatikkan tugas seperti:
- Mencipta surat dan invois yang disesuaikan.
- Mencipta laporan bulk menggunakan format terstruktur seperti XML, JSON, atau pangkalan data, membolehkan generasi laporan dinamik dengan C# dan Aspose.Words .
Sumber Data untuk Mail Merge
Aspose.Words menyokong pelbagai sumber data, termasuk:
- Objek : Templat yang popular menggunakan contoh kelas.
- XML : muat data terstruktur untuk medan dinamik.
- JSON : Mudah disepadukan dengan API moden.
- CSV : Menghantar data jadual untuk pengeluaran dokumen bulk.
- ** DataTable/DataSet** : Gunakan ADO.NET untuk integrasi pangkalan data.
Menyediakan Templat untuk Mail Merge
Templat penggabungan e-mel ialah dokumen yang mengandungi medan menggabung yang akan dikumpulkan dengan data daripada sumber data yang ditetapkan anda semasa pelaksanaan. templat ini boleh dalam format DOC atau DOCX dan tidak memerlukan gaya tertentu.
- Buka dokumen anda atau cipta yang baru dalam MS Word.
- Letakkan kursor di mana anda ingin memasukkan medan penggabungan.
- Dari menu **Masukkan ** , pilih opsyen Laman .
- Daripada senarai **Nama Kawasan ** , pilih MergeField .
- Tentukan nama untuk medan penggabungan dalam kotak **Nama medan ** dan klik OK .
- Simpan dokumen tersebut.
Gambar skrin berikut menggambarkan a Templat sampel Dokumen yang

.NET Mail Merge API - Pemasangan
Anda boleh memasang Aspose.Words untuk .NET melalui pelbagai kaedah:
Melaksanakan Mail Merge dalam Dokumen Word menggunakan C#
Sebaik sahaja templat anda bersedia, anda boleh menjalankan penggabungan e-mel untuk menghasilkan dokumen. berikut adalah langkah-langkah untuk menjalankan penggabungan email pada templet anda yang telah disediakan:
- Muat turun dokumen template menggunakan Document Kelas yang
- Menetapkan pilihan penggabungan e-mel yang diperlukan, seperti Dokumen.MailMerge.TrimWhitespaces.
- Menjalankan e-mel merger menggunakan Maklumat lanjut MailMerge.Execute() kaedah, melepasi sumber data sebagai parameter.
- Menyelamatkan dokumen yang dihasilkan menggunakan Penyimpanan ( String ) Kaedah yang
Berikut ialah sampel kod yang menunjukkan bagaimana untuk menghasilkan laporan secara automatik dalam C# menggunakan pelbagai nilai :
Dokumen Word selepas Mail Merge

Melaksanakan Mail Merge menggunakan XML Data Source dalam C#
Fail XML biasanya digunakan untuk menyimpan dan memindahkan data. Aspose.Words untuk .NET menyokong XML sebagai sumber data untuk operasi penggabungan e-mel. DataSet objek dan menjalankan mesej gabungan. di bawah adalah sampel fail XML untuk kes 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>
Sampel kod berikut mengambil data daripada sumber data XML dan menjalankan penggabungan e-mel menggunakan C#.
Di bawah ialah e-mel merger Templat yang akan dipopulasi dengan data daripada fail XML.

Imej ini mewakili halaman pertama dokumen Word yang dihasilkan yang diperolehi selepas menjalankan penggabungan e-mel.

Pemformatan tersuai medan gabungan
Aspose.Words untuk .NET menyediakan kawalan yang lebih baik atas proses penggabungan e-mel. Maklumat lanjut MailMerge.FieldMergingCallback hartanah membolehkan anda untuk mengkonfigurasi tingkah laku merger e-mel seperti setiap medan merge ditemui. IFieldMergingCallback.Penggambaran dan IfieldMergingCallback.ImageFieldBahasa Inggeris kaedah membolehkan penyesuaian operasi penggabungan e-mel.
Berikut ialah sampel kod yang menunjukkan bagaimana untuk memohon pemformatan tersuai semasa mesej penggabungan melalui templat contoh yang disediakan:
Seterusnya melaksanakan kelas HandleMergeFieldAlternatingRows .
Mail Merge dengan Rantau menggunakan C#
Dalam sesetengah kes, anda mungkin perlu menduduki dan mengulangi rantau tertentu dalam dokumen Word. Untuk senario sedemikian, gunakan e-mel merger dengan kawasan.Untuk mencipta rangkaian, ketahui kedua-dua permulaan dan akhir ranjau; kemudian, perpaduan mel akan berulang kawasan ini untuk setiap rekod dalam sumber data.Sebuah contoh templat di bawah mengandungi dua kawasan—Perintah dan PerintahDetail—menggunakan medan mergers «TableStart:Order», «JadualAkhir:Perkh» dan «Kesimpulan:Peraturan».

Berikut ialah sampel kod yang menjalankan penggabungan e-mel berdasarkan rantau untuk yang disebutkan di atas Templat.
Kaedah-kaedah berikut menunjukkan bagaimana untuk membaca data daripada pangkalan data.
Perbincangan:Nested Mail Merge
Kadang-kadang, data daripada sumber disusun dalam format perhubungan. Contohnya, “Perintah” mungkin mempunyai hubungan satu-ke-banyak dengan “perintahDetail,” yang menyimpan rekod item dalam satu pesanan. Dalam senario sedemikian, gunakan gabungan e-mel bergelombang. Di bawah adalah sampel Templat invois Ini sesuai dengan senario ini.

Berikut ialah sumber data XML untuk contoh gabungan e-mel 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>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>
Fail OrderSchema.xsd yang sepadan untuk XML ini ialah:
<?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>
Sampel kod berikut menjalankan penggabungan e-mel yang ditanam menggunakan C#.
Dokumen Word selepas Mail Merge
Di bawah ialah halaman pertama dokumen Word yang dihasilkan yang diperolehi selepas menjalankan penggabungan e-mel yang ditanam.

Conclusion
Aspose.Words untuk .NET adalah API gabungan e-mel yang komprehensif yang menyediakan kedua-dua ciri standard dan lanjutan yang sesuai untuk aplikasi .Net. Dengan hanya beberapa baris kod, anda boleh membangunkan laporan mudah atau rumit dari pelbagai sumber data tanpa ragu-ragu. DokumentasiUntuk memulakan dengan Aspose.Words untuk .NET, lihat yang tersedia Panduan Pemaju dan sampel kod pada GitHubPlugin Aspose juga menawarkan ciri-ciri canggih untuk pengeluaran laporan.
Cuba Aspose.Words untuk .NET untuk Percuma
Anda boleh mendapatkan lesen sementara percuma untuk mencuba Aspose.Words untuk .NET tanpa sekatan. Dapatkan lesen sementara anda sekarang.
More in this category
- Menukar Word DOC/DOCX kepada PDF dalam C# .NET dan Aspose.Words' Document Converter Plugin
- Mencipta Barcode dalam Dokumen Word (.NET, C#) dan membaca barcode daripada Word.
- Mengekstrak imej daripada dokumen Word dalam pemprosesan gambar automatik C#
- Mencari dan menggantikan teks dalam dokumen Word menggunakan C# Automatik Word Editing
- Mencipta dokumen Word yang disesuaikan menggunakan C# .NET Aspose.Words Mail Merge Plugin