ASP.NET Экспорт данных в Словарные шаблоны - PullRequest
1 голос
/ 21 января 2011

У меня есть несколько букв в шаблонах Word 2007.Мне нужно передать данные из моего приложения веб-форм (бэкэнд Sql Server 2008).

Мне нужно сделать это как можно более плавно, поэтому создание текстового файла для слова для использования в качестве источника данных не вариант.Я также хочу избежать запуска Office на моем веб-сервере по соображениям производительности.

Мне интересно, есть ли способ сохранить шаблон XML в моей базе данных и заполнить нужные элементы моими данными, когда буквы должнысгенерировать этот файл и загрузить его непосредственно на компьютер пользователя.

У кого-нибудь есть решение для этого типа проблемы?

1 Ответ

3 голосов
/ 21 января 2011

Если вы создаете файл Word 2007.docx с токенами, которые хотите заменить, вы можете легко заменить токены на сервере и отправить клиенту новый файл .docx на основе старого с замененными токенами.

  1. Создайте шаблон в виде файла .docx и сохраните его на сервере
  2. Измените все поля слияния, чтобы легко находить и анализировать заполнители, которые не будут отображаться в документе в обычном режиме.и не потребует кодирования XML.Например: {{FirstName}}.
  3. Создать новый пустой файл .docx (zip) для каждого документа, который вы хотите сгенерировать
  4. Считать каждый файл из файла шаблона .docx
  5. Когда вы читаете исходный файл, ищите и заменяйте свои токены соответствующим образом
  6. Убедитесь, что XML кодирует весь текст, который вы вставили в новый документ.Вы можете использовать HttpUtility.HtmlEncode, экземпляр XmlTextWriter или пользовательский метод для замены некорректных символов (<, ', ",>) соответствующими объектами xml.
  7. Отправка файла клиенту

Более сложные вещи можно сделать, манипулируя тегами WordML, но если вы просто хотите заменить некоторые переменные данные, приведенный выше способ будет самым простым / быстрым.

...