Генерация документов на основе Excel шаблона
Очень часто при автоматизации бизнес процессов требуется формировать электронные документы на основе структурированных данных. Источником структурированных данных обычно являются справочники системы DIRECTUM. Потребность формирования электронных документов возникает по следующим причинам:
- Электронный документ — удобное представление для согласования информации. Возможность отображать данные из нескольких источников данных;
- Возможность установки ЭЦП — дополнительная защита результатов согласования;
Обычно для формирования документов пользуются разработкой интегрированных отчетов, которые после формирования можно сохранять как электронные документы в архив. Недостатки такого подхода, на мой взгляд, следующие:
- Высокая трудоемкость разработки, которая обычно связана с необходимостью программирования визуальной части отчета. Это относится к rtf и Excel/html отчетам в системе DIRECTUM.
- Шаблон отчета находится в разработке, что не позволяет пользователям системы изменять настройку представления. Например, заказчики часто хотят добавлять в отчеты, генерируемые системой, свой логотип.
Предлагаю использовать альтернативный вариант формирования электронных документов на основе Excel шаблона, который решает описанные выше недостатки. Механизм основан на возможности Excel использовать элементы присоединенной XSD схемы данных для разметки шаблона. Возможность доступна начиная с версии Excel 2003.
Приведу пример разметки шаблона документа «Выписка по счету» в Excel 2007. Путь до опции подключения XSD схемы данных: Вкладка разработчик(на риббоне)\Источник\Карты XML…\Добавить. Откроется диалоговое окно для выбора файла с описанием схемы данных. После подключения схемы в разделе «Источник XML» появится элементы подключенной XSD схемы, которые можно перенести в любую ячейку шаблона:
XSD схема – это обычный XML файл, в котором описаны элементы данных. XSD схема для приведенного примера выглядит следующим образом:
Для формирования XSD схемы рекомендую использовать инструменты Visual Studio 2008, но можно сделать и в обычном текстовом редакторе.
После того, как шаблон настроен и выполнена разметка полей данных его можно сохранить в системе и в установки вынести параметр, к которому можно будет привязаться в разработке ISBL. Для того, чтобы программно создать электронный документ на основе настроенного шаблона, нужно сделать следующее:
1. Подготовить XML файл с данными, соответствующий подключенной XSD схеме шаблона. XML данные для описанной в примере XSD схемы будут выглядеть следующим образом:
Формирование XML документа на ISBL нужно выполнить с помощью библиотеки msxml.dll:
2. Получить шаблон документа и экспортировать его на диск.
3. Открыть экспортированный шаблон в Excel и передать в него подготовленные данные:
4. При необходимости открыть документ для просмотра либо сразу сохранить документ в хранилище системы DIRECTUM.
Кроме экспорта данных в шаблон Excel можно выполнить и обратное действие – импортировать данные из полей разметки шаблона. Т.е. в этом сценарии работы шаблон Excel будет выступать в качестве электронной формы для ввода данных, которые можно будет импортировать в систему DIRECTUM.
КАК: Расширения файлов Excel: XLSX, XLSM, XLS, XLTX и XLTM — 2024
Пусть диапазон лет для выгрузки выбирает пользователь, поэтому в этом отчёте динамически создаваемыми являются как строки, так и столбцы. XML-представление данных для такого отчёта может выглядеть следующим образом:
Как создать XML-файл из Excel
XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.
Рассмотрим создание XML-файла на примере производственного календаря.
- Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
- Создадим и вставим карту XML с необходимой структурой документа.
- Экспортируем данные таблицы в XML формат.
- Наша таблица – производственный календарь.
- Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:
- Открываем инструмент «Разработчик». Диалоговое окно «Источник» на вкладке XML.
- Если программа Excel не видит карт XML, их нужно добавить. Жмем «карты XML». И указываем путь к нашему файлу с выше указанной схемой карты созданной в текстовом редакторе.
- Добавить ОК.
- В правой колонке появляются элементы схемы. Их нужно перетащить на соответствующие названия столбцов таблицы.
- Проверяем возможен ли экспорт.
- Когда все элементы будут сопоставлены, щелкаем правой кнопкой мыши по любой ячейке в таблице – XML – экспорт.
- Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
- Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.
Генерация документов на основе Excel шаблона | Статья | Сообщество Directum
- Сохраните файл как schema.xml.
- Откройте книгу Excel.
- Кликните по Source (Источник) на вкладке Developer (Разработчик). Откроется XML панель задач.
- Чтобы добавить карту XML, нажмите кнопку XML Maps (XML карты).Появится диалоговое окно XML Maps (Карты XML).
- Нажмите Add (Добавить).
- Выберите schema.xml и дважды кликните ОК.
- Теперь просто перетащите 4 элемента из дерева в XML панели задач на лист (строка 1).
- Нажмите кнопку Export (Экспорт) в разделе XML на вкладке Developer (Разработчик).
- Сохраните файл и нажмите Enter.
Отметим, что при установке программы она предложит отдельно установить так называемый модуль печати. А принтер может быть как реальным, так и виртуальным.Первый способ – через подменю «Декларация» (см.рисунок выше).