Generate Word from template in C#

การทำให้การสร้างเอกสารอัตโนมัติเป็นสิ่งสำคัญสำหรับธุรกิจในการสร้างรายงานแบบไดนามิก, ใบแจ้งหนี้, และจดหมาย ด้วย Aspose.Words Mail Merge for .NET คุณสามารถกรอกข้อมูลในแม่แบบ Word ได้อย่างมีประสิทธิภาพด้วยข้อมูลจากแหล่งต่างๆ รวมถึงวัตถุ, CSV, JSON, และ XML คู่มือนี้จะแสดงวิธีการใช้ Mail Merge ใน C# สำหรับการทำงานอัตโนมัติและการไหลเวียนของเอกสารที่ราบรื่น โดยมุ่งเน้นที่ การสร้างเอกสาร Word แบบไดนามิกจาก C# .NET.


หัวข้อที่ครอบคลุม:


ภาพรวมของ Mail Merge สำหรับ .NET

Aspose.Words Mail Merge for .NET ช่วยให้ผู้พัฒนาสามารถสร้างเอกสารส่วนบุคคลจากแม่แบบที่กำหนดล่วงหน้าซึ่งมีฟิลด์การรวมข้อมูลปลั๊กอินนี้ออกแบบมาเพื่อการรวมเข้าที่ราบรื่นในสภาพแวดล้อม .NET โดยมีความสามารถในการ:

  • กรอกแม่แบบด้วยข้อมูลแบบไดนามิก สนับสนุนการสร้างเอกสาร Word ของ .NET framework.
  • ดำเนินการสร้างเอกสารแบบกลุ่มอย่างมีประสิทธิภาพ โดยใช้ โซลูชัน mail merge ของ .NET สำหรับชุดข้อมูลขนาดใหญ่.
  • รักษารูปแบบให้สอดคล้องกันในผลลัพธ์ ช่วยปรับปรุง แนวทางปฏิบัติที่ดีที่สุดสำหรับแม่แบบเอกสาร Word ใน C#.

คุณสมบัติหลัก:

  1. การสนับสนุนหลายแหล่งข้อมูล: ใช้ข้อมูลจากวัตถุ, ฐานข้อมูล, XML, JSON, และ CSV เพื่อสร้างเอกสาร Word ที่กำหนดเองด้วย C#.
  2. ประสิทธิภาพสูง: จัดการชุดข้อมูลขนาดใหญ่และการดำเนินงานแบบกลุ่มได้อย่างมีประสิทธิภาพสำหรับ การสร้างเอกสาร Word แบบไดนามิกด้วย .NET Core.
  3. แม่แบบที่ปรับแต่งได้: สร้างแม่แบบพร้อมช่องว่างสำหรับการแทรกข้อมูล โดยใช้ความสามารถของ การทำงานอัตโนมัติของ mail merge ใน Word ของ .NET.

การติดตั้ง

ติดตั้ง Aspose.Words โดยใช้ NuGet:

PM> Install-Package Aspose.Words

สร้างเอกสาร Word จากแม่แบบด้วยวัตถุ C#

อันดับแรก มาดูวิธีการกรอกแม่แบบ Word ด้วยวัตถุ C# กัน เพื่อแสดงสิ่งนี้ เราจะสร้างเอกสาร Word (DOC/DOCX) ด้วยช่องว่างต่อไปนี้เป็นเนื้อหาของเอกสาร:

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

ที่นี่ sender คืออินสแตนซ์ของคลาสที่เราจะใช้ในการกรอกแม่แบบโดยใช้วิธี C# generate word document from database.

ตอนนี้เราสามารถใช้เอนจินการรายงานของ Aspose.Words เพื่อสร้างเอกสาร Word จากแม่แบบและอินสแตนซ์ของคลาส Sender ด้วยการทำตามขั้นตอนเหล่านี้:

  • สร้างอินสแตนซ์ของคลาส Document และเริ่มต้นด้วยเส้นทางของแม่แบบ Word.
  • สร้างและเริ่มต้นวัตถุของคลาส Sender.
  • สร้างอินสแตนซ์ของคลาส ReportingEngine.
  • กรอกแม่แบบโดยใช้ ReportingEngine.BuildReport() ซึ่งรับพารามิเตอร์เป็นอินสแตนซ์ของเอกสาร, แหล่งข้อมูล, และชื่อของแหล่งข้อมูล.
  • บันทึกเอกสาร Word ที่สร้างขึ้นโดยใช้วิธี Document.Save().

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการ สร้างเอกสาร Word จากแม่แบบ ใน C#.

ผลลัพธ์

สร้างเอกสาร Word จากแหล่งข้อมูล XML ใน C#

เพื่อสร้างเอกสาร Word จากแหล่งข้อมูล XML เราจะใช้แม่แบบ Word ที่ซับซ้อนกว่าด้วยช่องว่างต่อไปนี้:

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

แหล่งข้อมูล XML ที่ใช้ในตัวอย่างนี้แสดงด้านล่าง.

เพื่อสร้างเอกสาร Word จากแหล่งข้อมูล XML ให้ทำตามขั้นตอนเหล่านี้:

  • สร้างอินสแตนซ์ของคลาส Document และเริ่มต้นด้วยเส้นทางของแม่แบบ Word.
  • สร้างอินสแตนซ์ของคลาส XmlDataSource และเริ่มต้นด้วยเส้นทางของไฟล์ XML.
  • สร้างอินสแตนซ์ของคลาส ReportingEngine.
  • ใช้ ReportingEngine.BuildReport() เหมือนเดิมในการกรอกแม่แบบ Word.
  • บันทึกเอกสาร Word ที่สร้างขึ้นโดยใช้วิธี Document.Save().

นี่คือตัวอย่างโค้ดที่แสดงวิธีการ สร้างเอกสาร Word จากแหล่งข้อมูล XML ใน C#.

ผลลัพธ์

สร้างเอกสาร Word จากแหล่งข้อมูล JSON ใน C#

ถัดไป มาลองดูวิธีการสร้างเอกสาร Word โดยใช้แหล่งข้อมูล JSON ในตัวอย่างนี้ เราจะสร้างรายการลูกค้าที่แบ่งตามผู้จัดการของพวกเขา แม่แบบ Word จะมีลักษณะดังนี้:

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

แหล่งข้อมูล JSON ที่เกี่ยวข้องที่เราจะใช้ในการกรอกข้อมูลในแม่แบบมีดังนี้:

ในการสร้างเอกสาร Word จาก JSON เราจะใช้คลาส JsonDataSource เพื่อโหลดแหล่งข้อมูล และขั้นตอนที่เหลือจะเป็นไปตามโครงสร้างก่อนหน้านี้ ตัวอย่างโค้ดด้านล่างแสดงวิธีการ สร้างเอกสาร Word จากแม่แบบ JSON ใน C#.

ผลลัพธ์

สร้างเอกสาร Word จากแหล่งข้อมูล CSV ใน C#

เพื่อสร้างเอกสาร Word จากแหล่งข้อมูล CSV เราจะใช้แม่แบบ Word ต่อไปนี้:

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

แม่แบบนี้จะได้รับการกรอกข้อมูลโดยใช้ข้อมูล CSV ต่อไปนี้:

ตอนนี้ มาลองดูโค้ด C# ขั้นตอนต่างๆ จะยังคงเหมือนกัน เพียงแต่มีความแตกต่างอยู่ประการหนึ่ง: เราจะใช้คลาส CsvDataSource เพื่อโหลดข้อมูล CSV ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีการ สร้างเอกสาร Word จากแหล่งข้อมูล CSV.

ผลลัพธ์

ลองใช้ Aspose.Words สำหรับ .NET ฟรี

คุณสามารถลองใช้ Aspose.Words for .NET โดยใช้ ใบอนุญาตชั่วคราว ฟรี.

สรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการสร้างเอกสาร Word จากแม่แบบโดยใช้ C# คุณได้ค้นพบวิธีการใช้แหล่งข้อมูลต่างๆ เช่น วัตถุ, XML, JSON, และ CSV สำหรับ การสร้างเอกสารแบบไดนามิกใน .NET ค้นคว้าในความสามารถของ การประมวลผลแม่แบบ Word ใน .NET โดยการสำรวจ เอกสาร และหากต้องการ คุณสามารถติดต่อผ่าน ฟอรัม ของเราได้เลย.

ดูเพิ่มเติม