2012-04-02 71 views

Trả lời

5

Tôi đã thực hiện nhiều cách khác nhau trong quá khứ. Nó phụ thuộc vào việc người dùng khởi tạo hành động từ OUTSIDE của Microsoft Word hay từ INSIDE Microsoft Word.

Từ INSIDE Microsoft Word, bạn có thể sử dụng một trong những kỹ thuật sau đây:

  1. Mở một mẫu với placeholders và sử dụng VBA hoặc VSTO để lặp qua họ sử dụng một nguồn dữ liệu sử dụng bản sao & dán. Xin lưu ý rằng các bảng cũng là một tội phạm ở đây. Cách tiếp cận này giống như cách tiếp cận 1 bên dưới với "NGOÀI TRỜI". Nhược điểm là nó tương đối chậm (copy & dán) và Microsoft Word tự động sửa thích thích khởi động khi cần thiết.
  2. Mở mẫu có trình giữ chỗ và sử dụng VBA hoặc VSTO để phân tích cú pháp biểu diễn XML và sau đó thay thế các mẫu này. Nó nhanh hơn, nhưng khó viết hơn. Đặc biệt là vì biểu diễn XML có thể chứa các đoạn XML trong các trình giữ chỗ (chẳng hạn như '&amp;lt;&amp;lt;PUT_<xxx/>IT_HERE&amp;gt;&amp;gt;' và các trường hợp phức tạp hơn). Ngoài ra, bạn cần đảm bảo rằng bạn giữ một tài liệu XML hợp lệ và cân bằng tốt.

Từ NGOÀI Microsoft Word (chẳng hạn như giao diện web), bạn có thể sử dụng một trong những kỹ thuật sau đây:

  1. cửa hàng mẫu ở đâu đó sử dụng RTF (đó là xa dễ dàng hơn để xử lý hơn cấu trúc riêng của Word). Đặt '&lt;&lt;PLACEHOLDER-FOR-NAME&gt;&gt;' hoặc các văn bản được nhận dạng tương tự dễ dàng mà bạn muốn thay thế nó. Khi người dùng yêu cầu tài liệu Word, tìm nạp RTF, tìm nạp dữ liệu, thay thế trình giữ chỗ, máy chủ RTF thành người dùng. RTF có một số hạn chế, nhưng một số lợi thế. Ưu điểm là: dễ dàng tạo các mẫu mới và cũng hoạt động với Microsoft Wordpad và các gói Office khác. Nhược điểm là các bảng là một mớ hỗn độn thực sự để xử lý và không phải tất cả các cấu trúc Microsoft Word đều có thể thực hiện được. Các hàng lặp lại trong một bảng thậm chí còn ít được đề xuất hơn. Âm lượng cao có thể là một vấn đề.
  2. Sử dụng gói báo cáo xảy ra cũng xuất tài liệu docx, doc hoặc RTF. Viết báo cáo. Nói chung hoàn toàn phù hợp cho khối lượng cao. Ít phù hợp hơn nếu bạn muốn người dùng cuối nhập một lượng lớn văn bản bổ sung, vì các gói báo cáo thường hoạt động dựa trên các trang thay vì trên văn bản đang chảy, đôi khi một ngắt trang rõ ràng hoặc ngầm định được chèn vào. Nhưng nếu bạn chỉ cần người dùng cuối nhập một hoặc hai câu, nó là đủ.
  3. Khách hàng chất béo. Đặt dữ liệu SQL ở đâu đó. Mở Word. Đọc dữ liệu và xem thêm các kỹ thuật cho từ INSIDE Microsoft Word.

Nếu bạn cần phải điền vào một tài liệu Word từ SQL Server (hoặc bất kỳ cơ sở dữ liệu hoặc dữ liệu nền tảng khác), tôi có thể đề nghị phiên bản miễn phí của Invantive Composition for filling Word documents from the database (xin lưu ý rằng tôi đã được tham gia với sản phẩm đó). Nó mở các mẫu và kết hợp chúng từ bên trong Word, nhưng được nhắm mục tiêu nhiều hơn ở các nhà phát triển không; chỉ cần chỉ định mẫu và datablocks (có thể lồng nhau) và xuất bản. Nhà phát triển chỉ có thể thêm một số C# vào plugin. Tôi nghĩ rằng đó là một sản phẩm tốt khi bạn có MANY mẫu (trên 50) vì nó quy mô dễ dàng hơn.

-4

Bạn cũng có thể thử sử dụng MS-Excel vì nó liên kết với XML tốt hơn Word. Thật dễ dàng để làm cho Excel tạo ra đầu ra theo kiểu 'Word'.

+3

này không gần trả lời câu hỏi. – jorrebor

2

Bạn có thể sử dụng truy vấn microsoft để lấy dữ liệu từ cơ sở dữ liệu SQL để tài liệu của bạn, video này có thể hữu ích https://vimeo.com/83983247

Các vấn đề liên quan