Python สร้างเอกสาร Word จากเทมเพลต

คุณกำลังมองหาวิธีสร้างเอกสาร Word จากเทมเพลตหรือไม่? คุณมาถูกที่แล้ว! ในโพสต์บล็อกนี้ เราจะสำรวจโซลูชันที่ดีที่สุดสำหรับการสร้างเอกสาร Word จากเทมเพลตโดยใช้แหล่งข้อมูลประเภทต่างๆ ใน Python เรียนรู้วิธีใช้ประโยชน์จากเทมเพลตที่กำหนดไว้ล่วงหน้าเพื่อสร้างเอกสาร Word ในรูปแบบ DOCX โดยการเติมตัวยึดตำแหน่งโดยใช้แหล่งข้อมูลต่างๆ เช่น XML, JSON หรือ CSV

บทความนี้ครอบคลุมหัวข้อต่อไปนี้:

  1. ไลบรารี Python เพื่อสร้างเอกสาร Word จากเทมเพลต
  2. สร้างเอกสาร Word จากเทมเพลตโดยใช้ข้อมูล XML
  3. สร้างเอกสาร Word จากเทมเพลตโดยใช้ข้อมูล JSON
  4. สร้างเอกสาร Word ด้วยข้อมูล CSV ใน Python
  5. เครื่องมือรายงาน Python LINQ
  6. แหล่งข้อมูลฟรี

Python Library เพื่อสร้างเอกสาร Word จากเทมเพลต

เราจะใช้ LINQ Reporting Engine ของ Aspose.Words for the Python API เพื่อสร้างเอกสาร Word จากเทมเพลต เอ็นจิ้นนี้รองรับแท็กที่แตกต่างกันสำหรับข้อความ รูปภาพ รายการ ตาราง ไฮเปอร์ลิงก์ และบุ๊กมาร์ก เราเติมข้อมูลในเอกสาร Word ที่มีแท็กเหล่านี้ และเติมข้อมูลจากแหล่งข้อมูล XML, JSON หรือ CSV เรามาเริ่มสร้างเอกสาร Word จากเทมเพลตโดยใช้ Python กันดีกว่า

การติดตั้ง Aspose.Words for Python

คุณสามารถ ดาวน์โหลดแพ็คเกจ หรือ ติดตั้ง API จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้ในคอนโซล:

> pip install aspose-words

สร้างเอกสาร Word จากเทมเพลตโดยใช้ข้อมูล XML ใน Python

สำหรับการสร้างเอกสาร Word จากเทมเพลตโดยใช้แหล่งข้อมูล XML เราจำเป็นต้องมีไฟล์เทมเพลตและข้อมูลต้นฉบับ XML เราจะสร้างเอกสาร Word (DOC/DOCX) โดยมีตัวยึดตำแหน่งต่อไปนี้เป็นเนื้อหาของเอกสารเทมเพลต:

Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth:
<<[Birth]:"dd.MM.yyyy">>

Children:
<<foreach [in Child]>><<[Child_Text]>>
<</foreach>>"""

นี่คือแหล่งข้อมูล XML ที่เราจะใช้ในตัวอย่างนี้:

<Person>
	<Name>John Doe</Name>
	<Age>30</Age>
	<Birth>1989-04-01 4:00:00 pm</Birth>
	<Child>Ann Doe</Child>
	<Child>Charles Doe</Child>
</Person>

ตอนนี้ เราสามารถสร้างเอกสาร Word จากแหล่งข้อมูล XML ได้อย่างง่ายดายโดยทำตามขั้นตอนด้านล่าง:

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

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเอกสาร Word จากแหล่งข้อมูล XML ใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีการสร้างเอกสาร Word จากเทมเพลตโดยใช้แหล่งข้อมูล XML
# โหลดเทมเพลต
doc = aw.Document("D:\\Files\\template.docx")

# โหลดแหล่งข้อมูล
data_source = aw.reporting.XmlDataSource("D:\\Files\\data-source.xml")

# เริ่มต้นกลไกการรายงาน
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "persons");

# บันทึกเอกสาร
doc.save("D:\\Files\\WordFromXML.docx")

เอาท์พุต

สร้างเอกสาร Word จากเทมเพลตโดยใช้ข้อมูล XML ใน Python

สร้างเอกสาร Word จากเทมเพลตโดยใช้ข้อมูล JSON ใน Python

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

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

ต่อไปนี้คือแหล่งข้อมูล JSON ที่เราจะใช้ในการเติมเทมเพลต:

[
   {
       Name: "John Smith",
       Contract:
       [
           {
               Client:
               {
                   Name: "A Company"
               },
               Price: 1200000
           },
           {
               Client:
               {
                   Name: "B Ltd."
               },
               Price: 750000
           },
           {
               Client:
               {
                   Name: "C & D"
               },
               Price: 350000
           }
       ]
   },
   {
       Name: "Tony Anderson",
       Contract:
       [
           {
               Client:
               {
                   Name: "E Corp."
               },
               Price: 650000
           },
           {
               Client:
               {
                   Name: "F & Partners"
               },
               Price: 550000
           }
       ]
   },
]

เราสามารถสร้างเอกสาร Word จากแหล่งข้อมูล JSON ได้อย่างง่ายดายโดยทำตามขั้นตอนที่กล่าวไว้ข้างต้น อย่างไรก็ตาม เราจะใช้คลาส JsonDataSource สำหรับการโหลดและใช้แหล่งข้อมูล JSON ในขั้นตอนที่ 2

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเอกสาร Word จากเทมเพลตโดยใช้ JSON ใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีสร้างเอกสาร Word จากเทมเพลตโดยใช้แหล่งข้อมูล JSON
# โหลดเทมเพลต
doc = aw.Document("D:\\Files\\template-json.docx")

# โหลดแหล่งข้อมูล
data_source = aw.reporting.JsonDataSource("D:\\Files\\data-source.json")

# เริ่มต้นกลไกการรายงาน
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "managers");

# บันทึกเอกสาร
doc.save("D:\\Files\\WordFromJSON.docx")

เอาท์พุต

สร้างเอกสาร Word จากเทมเพลตโดยใช้ข้อมูล JSON ใน Python

สร้างเอกสาร Word ด้วยข้อมูล CSV ใน Python

สำหรับการสร้างเอกสาร 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 ต่อไปนี้:

John Doe,30,1989-04-01 4:00:00 pm
Jane Doe,27,1992-01-31 07:00:00 am
John Smith,51,1968-03-08 1:00:00 pm

ตอนนี้เราสามารถสร้างเอกสาร Word จากแหล่งข้อมูล CSV ได้โดยทำตามขั้นตอนที่กล่าวถึงข้างต้น อย่างไรก็ตาม เราจะใช้คลาส CsvDataSource สำหรับการโหลดและใช้แหล่งข้อมูล CSV ในขั้นตอนที่ 2

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเอกสาร Word จากแหล่งข้อมูล CSV ใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีสร้างเอกสาร Word จากเทมเพลตโดยใช้แหล่งข้อมูล JSON
# โหลดเทมเพลต
doc = aw.Document("D:\\Files\\template-csv.docx")

# โหลดแหล่งข้อมูล
data_source = aw.reporting.CsvDataSource("D:\\Files\\data-source.csv")

# เริ่มต้นกลไกการรายงาน
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "persons");

# บันทึกเอกสาร
doc.save("D:\\Files\\WordFromCSV.docx")

เอาท์พุต

สร้างเอกสาร Word ด้วยข้อมูล CSV ใน Python

รับใบอนุญาตฟรี

คุณสามารถ [รับใบอนุญาตชั่วคราวฟรี] และสร้างเอกสาร Word โดยไม่มีข้อจำกัดในการประเมิน

กลไกการรายงาน Python LINQ - อ่านเพิ่มเติม

กลไกการรายงาน LINQ รองรับแท็กที่หลากหลายสำหรับการสร้างเอกสาร Word ที่มีคุณลักษณะครบถ้วนใน Python แบบไดนามิก คุณสามารถอ่านเพิ่มเติมเกี่ยวกับแท็กเหล่านี้พร้อมทั้งไวยากรณ์ได้ใน บทความนี้

Python สร้างเอกสาร Word จากเทมเพลต – ทรัพยากรฟรี

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

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีสร้างเอกสาร Word จากเทมเพลตใน Python เรายังได้เห็นวิธีการใช้แหล่งข้อมูล XML, JSON และ CSV เพื่อสร้างเอกสาร Word ด้วยการใช้ประโยชน์จาก Aspose.Words for Python LINQ Reporting Engine คุณสามารถสร้างเอกสาร Word ประเภทต่างๆ ได้อย่างง่ายดาย ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี

บทความที่เกี่ยวข้อง