[identity profile] jgbobby.livejournal.com posting in [community profile] useful_faq
Есть табличка excel, предположим три столбца - NAME ADDRESS PHONE
И соответственно большое количество строк с заполненными данными.
Как можно из этой таблички создать XML файл вида:


(info)
(data name="A1" addres="B1" PHONE="C1" /)
(data name="A2" addres="B2" PHONE="C2" /)
(data name="A3" addres="B3" PHONE="C3" /)
...
(/info)

где A1, B1, C1 - это ячейки 1й строки
A2, В2, С2 - ячейки 2й строки и т.д.
скобки поставлены вместо <> ибо так не отображается содержимое

Полагаю, что нужно писать макрос, только с какой стороны подойти к этому вопросу не знаю.

Заранее спасибо

Date: 2009-09-18 08:20 pm (UTC)
From: [identity profile] solom.livejournal.com
Так как для подобного мне б было лениво изучать его бейсик, то сделал бы так:
Сохранил файл в CSV (текстовый формат с разделением ячеек точкой с запятой), а потом небольшой перл-скрипт, который сие преобразует.

Date: 2009-09-18 08:42 pm (UTC)
From: [identity profile] urich.livejournal.com
Если у Вас Excel 2007, то там есть встроенные средства для работы с xml.
Делается это так. Берете Ваш пример:





Сохраняете под видом какого-нибудь Test.xml
Запускаете Эксель, щелкаете по главному меню, там Параметры Excel -> Показывать вкладку "Разработчик" на ленте.
Открываете Ваш эксельный файл с данными. Идете на вкладку Разработчик и жмете Источник. В окошке справа жмете Карты XML, потом Добавить, открываете сохраненный XML файл. Эксель скажет, что создаст схему, ОК ему. В окошке справа появится нужная Вам структура, остается только щелкнуть на каждом элементе правой кнопкой, указать ему нужный столбец и потом нажать Экспорт на вкладке Разработчик. Готово:)

Date: 2009-09-18 08:43 pm (UTC)
From: [identity profile] urich.livejournal.com
Хе, понятно почему у Вас пример в круглых скобочках =))) Ну, в общем, вот его надо взять:)

Date: 2009-09-18 10:02 pm (UTC)
From: [identity profile] polnoe-govno.livejournal.com
Полагаю, что нужно писать макрос, только с какой стороны подойти к этому вопросу не знаю.

ну как с какой, с изучения vba

Date: 2009-09-19 08:29 am (UTC)
From: [identity profile] polnoe-govno.livejournal.com
та ну нафиг учить этот недоязык:)) если учить то D,С и python.
кстати вот вам на почитать http://progopedia.ru/ пригодица думаю.

Date: 2009-09-19 06:24 am (UTC)
From: [identity profile] solom.livejournal.com
Давным-давно, когда мне надо было сделать кое-что в excel автоматом и для этого воспользоваться Visual Basic от него, в сетке быстро нашёл уроки.

Date: 2009-09-18 10:55 pm (UTC)
From: [identity profile] morgulis.livejournal.com
Я совершенно не разбираюсь в XML, но почему нельзя прямо в экселовской таблице создать необходимый "паттерн", текст вида data name="A1" addres="B1" PHONE="C1" (скажем, в колонке D), а потом весь массив скопировать в XML файл между (info) и (/info)? И скриптов никаких не нужно.

Date: 2009-09-19 08:21 pm (UTC)
From: [identity profile] besisland.livejournal.com
Криво собирается, значит.