Hasilkan Word dari template di C#

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


Topik yang Dibahas:


Ikhtisar Mail Merge untuk .NET

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

  • Mengisi template dengan data secara dinamis, mendukung generasi dokumen Word framework .NET.
  • Melakukan generasi dokumen secara massal dengan efisien, memanfaatkan solusi mail merge .NET untuk dataset besar.
  • Mempertahankan format yang konsisten di seluruh keluaran, secara efektif meningkatkan praktik terbaik template dokumen Word C#.

Fitur Utama:

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

Pengaturan

Instal Aspose.Words menggunakan NuGet:

PM> Install-Package Aspose.Words

Hasilkan Dokumen Word dari Template Menggunakan Objek C#

Pertama, mari kita lihat cara mengisi template Word menggunakan objek C#. Untuk menggambarkan ini, kita akan membuat dokumen Word (DOC/DOCX) dengan placeholder berikut sebagai konten dokumen:

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

Di sini, sender adalah instance dari sebuah kelas yang akan kita gunakan untuk mengisi template menggunakan pendekatan C# hasilkan dokumen Word dari basis data.

Sekarang, kita dapat menggunakan mesin pelaporan Aspose.Words untuk menghasilkan dokumen Word dari template dan instance dari kelas Sender dengan mengikuti langkah-langkah ini:

  • Buat instance dari kelas Document dan inisialisasi dengan path template Word.
  • Buat dan inisialisasi objek dari kelas Sender.
  • Instansikan kelas ReportingEngine.
  • Isi template menggunakan ReportingEngine.BuildReport(), yang mengambil instance Document, data sumber, dan nama data sumber sebagai parameter.
  • Simpan dokumen Word yang dihasilkan menggunakan metode Document.Save().

Contoh kode berikut menunjukkan cara menghasilkan dokumen Word dari template di C#.

Keluaran

Hasilkan Dokumen Word dari Sumber Data XML di C#

Untuk menghasilkan dokumen Word dari sumber data XML, kita akan memanfaatkan 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 ditampilkan di bawah.

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

  • Buat instance dari kelas Document dan inisialisasi dengan path template Word.
  • Buat instance dari kelas XmlDataSource dan inisialisasi dengan path file XML.
  • Instansikan kelas ReportingEngine.
  • Gunakan metode ReportingEngine.BuildReport() seperti sebelumnya untuk mengisi template Word.
  • Simpan dokumen Word yang dihasilkan menggunakan metode Document.Save().

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

Keluaran

Hasilkan Dokumen Word dari Sumber Data JSON di C#

Selanjutnya, mari kita eksplorasi bagaimana menghasilkan dokumen Word menggunakan sumber data JSON. Dalam contoh ini, kita akan membuat daftar klien yang dikelompokkan berdasarkan manajernya. 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 di bawah ini:

Untuk menghasilkan dokumen Word dari JSON, kita akan menggunakan kelas JsonDataSource untuk memuat sumber data, dan langkah-langkah sisanya akan mengikuti struktur sebelumnya. Contoh kode di bawah ini menunjukkan bagaimana menghasilkan dokumen Word dari template JSON di C#.

Keluaran

Hasilkan 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 akan diisi menggunakan data CSV berikut:

Kini, mari kita ulas kode C#. Langkah-langkahnya tetap sama kecuali untuk satu perbedaan kunci: kita akan menggunakan kelas CsvDataSource untuk memuat data CSV. Contoh kode berikut mengilustrasikan bagaimana menghasilkan dokumen Word dari sumber data CSV.

Keluaran

Coba Aspose.Words untuk .NET Gratis

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

Kesimpulan

Dalam artikel ini, Anda telah belajar bagaimana menghasilkan dokumen Word dari template menggunakan C#. Anda telah menemukan cara memanfaatkan berbagai sumber data seperti objek, XML, JSON, dan CSV untuk generasi dokumen dinamis .NET. Jelajahi lebih dalam kemampuan pengolahan template Word .NET dengan mengeksplorasi dokumentasi, dan jangan ragu untuk menghubungi kami melalui forum.

Lihat Juga