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?

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

Mail Merge Template

.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:

Berikut ialah sampel kod yang menunjukkan bagaimana untuk menghasilkan laporan secara automatik dalam C# menggunakan pelbagai nilai :

Dokumen Word selepas Mail Merge

Execute Mail Merge in C#

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.

Mail Merge Template for XML

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

Execute Mail Merge with XML in C#

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».

Mail Merge Template with Regions

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.

Mail Merge Template with Regions

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.

Word Document after Mail Merge

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