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
  • ทำการสร้างเอกสารจำนวนมากได้อย่างมีประสิทธิภาพ โดยใช้ โซลูชันการรวมข้อมูลของ .NET สำหรับเอกสาร Word
  • รับประกันการจัดรูปแบบที่สอดคล้องกันในทุกผลลัพธ์ เพิ่มประสิทธิภาพ แนวทางปฏิบัติที่ดีที่สุดสำหรับเทมเพลตเอกสาร Word ของ C#

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

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

การติดตั้ง

ในการเริ่มต้น ให้ติดตั้ง Aspose.Words โดยใช้ NuGet:

PM> Install-Package Aspose.Words

สร้างเอกสาร Word จากเทมเพลตโดยใช้วัตถุ C#

เริ่มต้นด้วยการกรอกเทมเพลต Word โดยใช้วัตถุ C# เราจะสร้างเอกสาร Word (DOC/DOCX) ด้วยตัวแทนดังต่อไปนี้:

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

ในตัวอย่างนี้ sender เป็นอินสแตนซ์ของคลาสที่เราจะใช้ในการกรอกข้อมูลในเทมเพลตโดยใช้แนวทาง การสร้างเอกสาร Word จากฐานข้อมูลด้วย C#

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

  1. สร้างอินสแตนซ์ของคลาส Document และกำหนดค่าให้กับเส้นทางของเทมเพลต Word
  2. สร้างและกำหนดค่าอ็อบเจ็กต์ของคลาส Sender
  3. สร้างอินสแตนซ์ของคลาส ReportingEngine
  4. กรอกข้อมูลในเทมเพลตโดยใช้ ReportingEngine.BuildReport() ซึ่งใช้พารามิเตอร์เป็นอินสแตนซ์ของ Document แหล่งข้อมูล และชื่อของแหล่งข้อมูล
  5. บันทึกเอกสาร 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 ให้ทำตามขั้นตอนเหล่านี้:

  1. สร้างอินสแตนซ์ของคลาส Document และกำหนดค่าให้กับเส้นทางของเทมเพลต Word
  2. สร้างอินสแตนซ์ของคลาส XmlDataSource และกำหนดค่าให้กับเส้นทางของไฟล์ XML
  3. สร้างอินสแตนซ์ของคลาส ReportingEngine
  4. ใช้เมธอด ReportingEngine.BuildReport() เพื่อกรอกข้อมูลในเทมเพลต Word
  5. บันทึกเอกสาร 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 สำหรับ .NET โดยใช้ ใบอนุญาตชั่วคราวฟรี

สรุป

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