Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Написат генератор Word-файлов одинаковой структуры, заполняемый разными данными 
:(
    Опции темы
strangerw
Дата 4.6.2010, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.5.2010

Репутация: нет
Всего: нет



Всем привет!

Стоит задача генерировать документацию (конечные файлы достаточно большие и сложные).
Будет много разных документов одинаковой структуры. Некоторые куски текста будут одинаковые во всех документах. Но вот данные, которыми заполняются таблицы в документах, а также некоторый текст внутри отдельных глав будет отличаться. Генерация может быть как в doc, так и в rtf формате.

Соответственно, вопрос: подскажите, пожалуйста, как лучше всего генерировать одинаковые по структуре, но разные по данным документы?


У меня есть кое-какие соображения. Первое, что приходит в голову — составить шаблон документа, в котором вместо динамических данных — макросы.
Генератор документов получает на вход xml-документ с данными, затем открывает doc-файл, идет по нему, находит макрос, и вместо него подставляет данные из xml-файла. Генератор использует COM-технологию для сканирования объектов.

Например:
Word-документ шаблона:


Код

$Title$ documentation

Authors:
$foreach authors$
FIO: $author$
$end foreach$





xml, который передается:
автор
Код

<Title>Test</Title>
<authors>
<author>Petrov A I</author>
<author>Ivanov E E</author>
</authors>




В результате генерации мы должны получить:
Код


Test documentation

Authors:
FIO: Petrov A I
FIO: Ivanov E E





В результате разных xml-ей мы и получим одинаковые по структуре, но разные по данным документы, как и нужно.

Что не нравится в этом подходе: нужно писать парсер на COM, который будет ходить по doc-шаблону, разбирать макросы, понимать, где циклы начинаются, где заканчиваются — сложно это... Что хорошо: есть визуальный шаблон, и пользователь сразу видит, как примерно будет выглядеть конечный документ.

Второй подход: использовать обычную xslt-трансформацию, где куски отформатированного текста забиты прям в xsl-шаблон. Огромный недостаток здесь — xsl очень ненаглядный, что недопустимо, так как есть требование, чтобы некоторые пользователи могли сами править шаблоны. Учить xsl-преобразованию для этого их недопустимо!

Может, есть более простое и гибкое решешие генерации одинаковых по структуре документов, чем первое решение, предложенное мной?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0375 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.