Python Tạo tài liệu Word từ mẫu

Bạn đang tìm cách tạo tài liệu Word từ các mẫu? Bạn đã đến đúng nơi! Trong bài đăng trên blog này, chúng ta sẽ khám phá giải pháp tốt nhất để tạo tài liệu Word từ các mẫu bằng cách sử dụng các loại nguồn dữ liệu khác nhau trong Python. Tìm hiểu cách tận dụng các mẫu được xác định trước để tạo tài liệu Word ở định dạng DOCX bằng cách điền phần giữ chỗ bằng nhiều nguồn dữ liệu khác nhau, chẳng hạn như XML, JSON hoặc CSV.

Bài viết này bao gồm các chủ đề sau:

  1. Thư viện Python để tạo tài liệu Word từ mẫu
  2. Tạo tài liệu Word từ Mẫu bằng Dữ liệu XML
  3. Tạo tài liệu Word từ mẫu bằng dữ liệu JSON
  4. Tạo tài liệu Word bằng dữ liệu CSV bằng Python
  5. Công cụ báo cáo Python LINQ
  6. Tài nguyên miễn phí

Thư viện Python để tạo tài liệu Word từ mẫu

Chúng tôi sẽ sử dụng Công cụ báo cáo LINQ của Aspose.Words for the Python API để tạo tài liệu Word từ các mẫu. Công cụ này hỗ trợ các thẻ khác nhau cho văn bản, hình ảnh, danh sách, bảng, siêu liên kết và dấu trang. Chúng tôi điền các tài liệu Word có các thẻ này và điền dữ liệu từ các nguồn dữ liệu XML, JSON hoặc CSV vào chúng. Vì vậy, hãy bắt đầu tạo tài liệu Word từ các mẫu bằng Python.

Cài đặt Aspose.Words for Python

Bạn có thể tải gói xuống hoặc cài đặt API từ PyPI bằng lệnh pip sau trong bảng điều khiển:

> pip install aspose-words

Tạo tài liệu Word từ mẫu bằng dữ liệu XML trong Python

Để tạo tài liệu Word từ một mẫu bằng nguồn dữ liệu XML, chúng ta cần một tệp mẫu và dữ liệu nguồn XML. Chúng tôi sẽ tạo một tài liệu Word (DOC/DOCX) với các phần giữ chỗ sau làm nội dung của tài liệu mẫu:

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

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

Đây là nguồn dữ liệu XML mà chúng tôi sẽ sử dụng trong ví dụ này:

<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>

Bây giờ, chúng ta có thể dễ dàng tạo tài liệu Word từ nguồn dữ liệu XML bằng cách thực hiện theo các bước bên dưới:

  1. Tải tệp mẫu Word bằng lớp Tài liệu.
  2. Tạo một phiên bản của lớp XmlDataSource và khởi tạo nó bằng đường dẫn của tệp XML.
  3. Khởi tạo lớp ReportingEngine.
  4. Gọi phương thức ReportingEngine.BuildReport() với mẫu, nguồn dữ liệu và tên nguồn dữ liệu.
  5. Lưu tài liệu Word đã tạo bằng phương thức Document.Save().

Mẫu mã sau đây cho biết cách tạo tài liệu Word từ nguồn dữ liệu XML bằng Python.

# Ví dụ về mã này trình bày cách tạo tài liệu Word từ Mẫu bằng cách sử dụng nguồn dữ liệu XML.
# Tải mẫu
doc = aw.Document("D:\\Files\\template.docx")

# Tải nguồn dữ liệu
data_source = aw.reporting.XmlDataSource("D:\\Files\\data-source.xml")

# Khởi tạo công cụ báo cáo
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "persons");

# Lưu tài liệu
doc.save("D:\\Files\\WordFromXML.docx")

đầu ra

Tạo tài liệu Word từ mẫu bằng dữ liệu XML trong Python

Tạo tài liệu Word từ mẫu bằng dữ liệu JSON trong Python

Để tạo tài liệu Word bằng nguồn dữ liệu JSON, chúng tôi sẽ sử dụng mẫu Word sau:

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

Sau đây sẽ là nguồn dữ liệu JSON mà chúng tôi sẽ sử dụng để điền mẫu:

[
   {
       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
           }
       ]
   },
]

Chúng ta có thể dễ dàng tạo tài liệu Word từ nguồn dữ liệu JSON bằng cách làm theo các bước được đề cập trước đó. Tuy nhiên, chúng ta sẽ sử dụng lớp JsonDataSource để tải và sử dụng nguồn dữ liệu JSON ở bước 2.

Mẫu mã sau đây cho biết cách tạo tài liệu Word từ mẫu bằng JSON trong Python.

# Ví dụ về mã này trình bày cách tạo tài liệu Word từ Mẫu bằng nguồn dữ liệu JSON.
# Tải mẫu
doc = aw.Document("D:\\Files\\template-json.docx")

# Tải nguồn dữ liệu
data_source = aw.reporting.JsonDataSource("D:\\Files\\data-source.json")

# Khởi tạo công cụ báo cáo
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "managers");

# Lưu tài liệu
doc.save("D:\\Files\\WordFromJSON.docx")

đầu ra

Tạo tài liệu Word từ mẫu bằng dữ liệu JSON trong Python

Tạo tài liệu Word bằng dữ liệu CSV bằng Python

Để tạo tài liệu Word từ CSV, chúng tôi sẽ sử dụng mẫu Word sau:

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

Mẫu sẽ được điền dữ liệu CSV sau:

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

Bây giờ, chúng ta có thể tạo tài liệu Word từ nguồn dữ liệu CSV bằng cách làm theo các bước được đề cập trước đó. Tuy nhiên, chúng tôi sẽ sử dụng lớp CsvDataSource để tải và sử dụng nguồn dữ liệu CSV ở bước 2.

Mẫu mã sau đây cho biết cách tạo tài liệu Word từ nguồn dữ liệu CSV bằng Python.

# Ví dụ về mã này trình bày cách tạo tài liệu Word từ Mẫu bằng nguồn dữ liệu JSON.
# Tải mẫu
doc = aw.Document("D:\\Files\\template-csv.docx")

# Tải nguồn dữ liệu
data_source = aw.reporting.CsvDataSource("D:\\Files\\data-source.csv")

# Khởi tạo công cụ báo cáo
engine = aw.reporting.ReportingEngine()
engine.build_report(doc, data_source, "persons");

# Lưu tài liệu
doc.save("D:\\Files\\WordFromCSV.docx")

đầu ra

Tạo tài liệu Word bằng dữ liệu CSV bằng Python

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và tạo tài liệu Word mà không bị giới hạn về đánh giá.

Công cụ báo cáo LINQ của Python - Đọc thêm

Công cụ báo cáo LINQ hỗ trợ nhiều loại thẻ để tạo tài liệu Word đầy đủ tính năng một cách linh hoạt trong Python. Bạn có thể đọc thêm về các thẻ này cùng với cú pháp của chúng trong bài viết này.

Python Tạo tài liệu Word từ mẫu – Tài nguyên miễn phí

Bên cạnh việc tạo tài liệu Word từ các mẫu, hãy tìm hiểu thêm về cách tạo, thao tác và chuyển đổi tài liệu Word cũng như khám phá nhiều tính năng khác của thư viện bằng cách sử dụng các tài nguyên bên dưới:

Phần kết luận

Trong bài viết này, chúng ta đã học cách tạo tài liệu Word từ các mẫu trong Python. Chúng tôi cũng đã thấy cách sử dụng các nguồn dữ liệu XML, JSON và CSV để tạo tài liệu Word. Bằng cách tận dụng Aspose.Words cho Công cụ báo cáo LINQ của Python, bạn có thể dễ dàng tạo nhiều loại tài liệu Word khác nhau. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Những bài viết liên quan