Страницы: 1
RSS
Преобразование таблицы Excel в XML документ
 

Добрый день, уважаемые форумчане! Прошу помочь советом, как начинающему специалисту)

Есть репорт в Excel – список транзакций. Партнёру необходимо предоставить этот же репорт в формате xml по структуре (xsd скачала на сайте разработчиков ПО партнера - прилагаю). Сейчас этот репорт собирается вручную, моя задача – автоматизировать процесс.

В зависимости от статуса транзакции разбиваются по пачкам, причём одна пачка не может содержать более 50 транзакций. Т.е. если у нас 60 транзакций в статусе 1, 10 в статусе 2, то на выходе мы должны получить 3 пачки. 1 пач = 1-50 транзакции статуса 1, 2 пач = 51-60 транзакции статуса 1, 3 пач = 10 транз в статусе 2.

Просто экспортировать по карте Excel не дает, ошибки: список списков, ненормированные данные, невозможно сопоставить элемент. Насколько я понимаю, это связано со слишком сложной структурой xsd. (Стоит отметить, что половину тех элементов, которые прописывают в схеме разработчики, наша компания не использует. )

Я попробовала упростить схему через приложение XMLSpy, убрала на схеме элементы “choise”, удалила основную массу неиспользуемых элементов, оставила возможность обработать только одну пачку (предполагаю, что буду разбивать источник по пачкам на разные листы, по каждой пачке по отдельности вытягивать в xml, а потом соединять в один файл)  - укороченную  схему тоже прилагаю.

В итоге у меня получается сопоставить и экспортировать документ до элемента TAX – перерабатывается корректно. Дальше, если я сопоставляю любой элемент, то выходит ошибка карты: Невозможно сохранить отношения сопоставленного элемента с другими элементами. В XML у меня не получается найти ошибку.

Помогите пожалуйста разобраться, что не так

И подскажите способ для нумерации пачек и транзакций в них  (так, чтобы транзакции 51-100 падали в пачку 2, 101-150 в пачку 3 и т.д.)

P/S/ До сего дня этот файл собирали вручную, прямо таблице сцепляя значения с нужными тэгами, потом формулой таблица перегонялась в один столбец и просто копировался в блокнот. Как вы считаете, возможно лучше не морочиться с XML и реализовать аналогичную логику на VBA? Мне было бы это попроще написать, но вроде это как-то костыльно

P/P/S Опыта с программированием пока мало, не судите строго, если что не так, я только учусь.  
 
Всем спасибо, вопрос снят

Для истории
Реализовала такую логику:

Макросом сформировала новую схему xsd для экспорта (попроще,без атрибутов), "натянула" схему на таблицы, в которые планирую помещать пачки.
Второй макрос разбивает базу по пачкам в разные таблицы, экспортирует пачки по разным файлам на основе схем.
Третий макрос с помощью методов MSXML соединяет файлы - пачки в родительский элемент Репорт, и добавляет требуемые атрибуты, форматы и т.д.

Вся соль только в том, чтобы освоить msxml, т.к. полноценной справки не нашлось. Некоторые методы пришлось брать из справки по JavaScript и перекладывать на синтаксис VBA
Страницы: 1
Наверх