Generate Word from template in C#

Mengautomasi pembuatan dokumen sangat penting bagi bisnis yang ingin membuat laporan dinamis, faktur, dan surat. Dengan Aspose.Words Mail Merge untuk .NET, Anda dapat mengisi template Word dengan efisien menggunakan data dari berbagai sumber, termasuk objek, CSV, JSON, dan XML. Panduan ini akan memandu Anda dalam memanfaatkan Mail Merge di C# untuk alur kerja dokumen yang terautomasi dan terstruktur, dengan fokus pada pembuatan dokumen Word dinamis menggunakan C# .NET.


Topik yang Dibahas:


Ikhtisar Mail Merge untuk .NET

Aspose.Words Mail Merge untuk .NET memungkinkan pengembang untuk menghasilkan dokumen pribadi dari template yang telah ditentukan yang berisi field merge. Plugin ini dirancang untuk integrasi yang mulus dalam lingkungan .NET, menawarkan kemampuan untuk:

  • Mengisi template secara dinamis dengan data, mendukung pembuatan dokumen Word di .NET framework.
  • Melakukan pembuatan dokumen dalam jumlah besar dengan efisien, memanfaatkan solusi mail merge .NET untuk dataset besar.
  • Memastikan format yang konsisten di seluruh output, meningkatkan praktik terbaik template dokumen Word C#.

Fitur Utama:

  1. Dukungan Multi-Sumber: Gunakan data dari objek, database, XML, JSON, dan CSV untuk membuat dokumen Word yang disesuaikan dengan C#.
  2. Kinerja Tinggi: Menangani dataset besar dan operasi massal dengan efisien untuk pembuatan dokumen Word dinamis dengan .NET Core.
  3. Template yang Dapat Disesuaikan: Buat template dengan placeholder untuk penyisipan data, memanfaatkan kemampuan automasi mail merge Word .NET.

Pengaturan

Untuk memulai, instal Aspose.Words menggunakan NuGet:

PM> Install-Package Aspose.Words

Menghasilkan Dokumen Word dari Template Menggunakan Objek C#

Mari kita mulai dengan mengisi template Word menggunakan objek C#. Kita akan membuat dokumen Word (DOC/DOCX) dengan placeholder berikut:

<<[sender.Name]>> says: "<<[sender.Message]>>."

Dalam contoh ini, sender adalah sebuah instance dari kelas yang akan kita gunakan untuk mengisi template menggunakan pendekatan C# menghasilkan dokumen Word dari database.

Selanjutnya, kita akan menggunakan mesin pelaporan dari Aspose.Words untuk menghasilkan dokumen Word dari template dan instance dari kelas Sender dengan mengikuti langkah-langkah berikut:

  1. Buat sebuah instance dari kelas Document dan inisialisasi dengan path template Word.
  2. Buat dan inisialisasi objek dari kelas Sender.
  3. Instansiasi kelas ReportingEngine.
  4. Isi template menggunakan ReportingEngine.BuildReport(), yang mengambil instance Document, sumber data, dan nama sumber data sebagai parameter.
  5. Simpan dokumen Word yang dihasilkan menggunakan Document.Save().

Berikut adalah contoh kode yang menunjukkan cara menghasilkan dokumen Word dari template menggunakan C#.

Output

Menghasilkan Dokumen Word dari Sumber Data XML di C#

Untuk menghasilkan dokumen Word dari sumber data XML, kita akan menggunakan template Word yang lebih kompleks dengan placeholder berikut:

<<foreach [in persons]>>Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Age)]>>

Sumber data XML yang digunakan dalam contoh ini ditunjukkan di bawah ini.

Untuk membuat dokumen Word dari sumber data XML, ikuti langkah-langkah berikut:

  1. Buat sebuah instance dari kelas Document dan inisialisasi dengan path template Word.
  2. Buat sebuah instance dari kelas XmlDataSource dan inisialisasi dengan path file XML.
  3. Instansiasi kelas ReportingEngine.
  4. Gunakan metode ReportingEngine.BuildReport() untuk mengisi template Word.
  5. Simpan dokumen Word yang dihasilkan menggunakan metode Document.Save().

Berikut adalah contoh kode yang menunjukkan cara menghasilkan dokumen Word dari sumber data XML menggunakan C#.

Output

Menghasilkan Dokumen Word dari Sumber Data JSON di C#

Selanjutnya, mari kita jelajahi cara menghasilkan dokumen Word menggunakan sumber data JSON. Dalam contoh ini, kita akan membuat daftar klien yang dikelompokkan berdasarkan manajer mereka. Template Word akan terlihat seperti ini:

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Sumber data JSON yang sesuai yang akan kita gunakan untuk mengisi template adalah sebagai berikut:

Untuk menghasilkan dokumen Word dari JSON, kita akan menggunakan kelas JsonDataSource untuk memuat sumber data, dan langkah-langkah yang tersisa akan mengikuti struktur sebelumnya. Berikut adalah contoh kode yang menunjukkan cara menghasilkan dokumen Word dari template JSON menggunakan C#.

Output

Menghasilkan Dokumen Word dari Sumber Data CSV di C#

Untuk menghasilkan dokumen Word dari sumber CSV, kita akan memanfaatkan template Word berikut:

<<foreach [in persons]>>Name: <<[Column1]>>, Age: <<[Column2]>>, Date of Birth: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Column2)]>>

Template ini akan diisi menggunakan data CSV berikut:

Sekarang, mari kita tinjau kode C#. Langkah-langkah tetap sama kecuali untuk satu perbedaan kunci: kita akan menggunakan kelas CsvDataSource untuk memuat data CSV. Contoh kode berikut menggambarkan cara menghasilkan dokumen Word dari sumber data CSV.

Output

Coba Aspose.Words untuk .NET Secara Gratis

Anda dapat mencoba Aspose.Words untuk .NET menggunakan lisensi sementara gratis.

Kesimpulan

Dalam artikel ini, Anda telah belajar cara menghasilkan dokumen Word dari template menggunakan C#. Anda telah menjelajahi cara memanfaatkan berbagai sumber data seperti objek, XML, JSON, dan CSV untuk pembuatan dokumen dinamis di .NET. Untuk wawasan lebih lanjut tentang kemampuan proses template Word .NET, selami dokumentasi, dan jangan ragu untuk menghubungi kami melalui forum.

Lihat Juga