2013-08-04 15 views
5

Tôi muốn tạo tệp tài liệu từ (.docx), dựa trên mẫu có thể là mẫu từ hoặc văn bản có thể được lưu trữ trong mã.Làm cách nào tôi có thể tạo một tài liệu văn bản docx với văn bản hiện tại như trong một mẫu, nhưng điền vào giá trị thông qua một mẫu web asp.net?

Bây giờ tài liệu được tạo nên dựa trên Dữ liệu nhập do người dùng cung cấp bằng Biểu mẫu web ASP.net với Hộp văn bản để nhập giá trị.

Các giá trị này sẽ được đưa vào và đặt ở vị trí giữ chỗ trong mẫu từ.

  1. Tôi có thể sử dụng mẫu từ trong dự án web ASP.net như thế nào?
  2. Làm cách nào tôi có thể lấy các giá trị từ biểu mẫu web ASP.net và chuyển nó vào mẫu từ, điền vào trình giữ chỗ với văn bản và sau đó tạo tài liệu từ?

Tôi đã thấy một số ví dụ nơi văn bản được tạo ra được tạo dưới dạng HTML và sau đó tệp được xuất sẽ được cung cấp cho msword filetype để lưu dưới dạng tệp từ. Nhưng trong trường hợp này tôi tự hỏi, làm cách nào tôi có thể cung cấp số trang và các giá trị đầu trang hoặc chân trang khác cho tài liệu được tạo.

Vì vậy, nếu tôi có thể sử dụng mẫu từ, chỉ cần điền vào các giá trị mà người dùng muốn và sau đó tạo tài liệu cuối cùng, thì điều đó thật tuyệt.

Có điều gì mới để thực hiện việc này trong Visual Studio 2012 không? Tôi đang cố gắng để làm điều này bằng cách sử dụng C#.

Trả lời

7

Bạn có một vài tùy chọn để tạo tài liệu word -

  1. Sử dụng từ tự động hóa - điều này là sử dụng Ms Word trực tiếp. Không nên sử dụng nếu bạn đang chạy trên một máy chủ - nó chậm và bị mở rộng và các vấn đề khác.

  2. Sử dụng OpenXML - đây là SDK của Microsoft để làm việc với các định dạng tệp Office 2007+. Có một số cách để thực hiện mục tiêu của bạn với OpenXML - như sử dụng dấu trang hoặc kiểm soát nội dung. Nhìn vào câu hỏi này SO - How to replace content in template docx document and Open XML SDK 2.0 (Aug 09)? hay thế này - How to create *.docx files from a template in C# hoặc google nó (trong khi không phải là khó khăn, toàn bộ giải pháp là thêm rằng một vài dòng mã và đòi hỏi một chút hiểu biết)

  3. Sử dụng công cụ của bên thứ ba hoặc điều khiển - Tôi không thực sự quen thuộc với họ.

3

Bạn có thể tạo mẫu của mình bằng cách tạo tài liệu Word (bao gồm biểu trưng, ​​đầu trang, chân trang, v.v.), đặt trình giữ chỗ và lưu nó dưới dạng tài liệu "Word 2003 xml".

Tiếp theo, bạn có thể đọc mẫu.xml như một tập tin văn bản, thay thế placeholders với các giá trị, và phản ứng toàn bộ chuỗi như một loại nội dung "application/msword"

Giữ chỗ có thể {MY_PLACEHOLDER1}

Trước khi tạo mẫu, bạn phải tắt (trong Word) tất cả liên quan đến Ortography, vì các đánh dấu "xấu ortography" được lưu trữ như một phần của tài liệu xml và {MY_PLACEHOLDER1} có thể được lưu trữ dưới dạng MY_PLACEHOLDER1 ("{" và "}" ký tự được lưu trữ riêng biệt với các thẻ từ xml riêng)

Trân trọng,

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