Страницы: 1
RSS
Парсер(сложная задачка)!
 
Всем привет! Есть xml-ки, их нужно распарсить(достать определенные данные) и потом эти "определенные" данные вставить на новый лист экселя где потом будет считатьсья сумма  строк(может столбцов или еще каких значений, в принципе, не важно, с подсчетом "определленных" данных, думаю справлюсь). Возможно ли такое сделать средствами экселя(мож VB)?
 
Варианты есть? :-)
 
{quote}{login=Miha-nikus}{date=31.08.2010 03:28}{thema=}{post}Варианты есть? :-){/post}{/quote}  
 
без предоставления "определенных данных" - нет
 
____________________
 
Эт я уже смотрел, немного не то...вот прилагаю источник xml-ки и примерный вид экселевской формы, где хотелось бы видеть эти данные
 
Хоть бы указали, какой тег какому столбцу соответствует...  
 
Сколько будет файлов XML? Все они в одной папке?
 
Да, xml-ки в одной папке, а вот по тэгам не могу ниче сказать, я с этим ни разу не сталкивался...потому и спрашиваю...
 
Ах, да, файлов будет много...по фтп-шки постоянно скидывают(чистка раз в месяц)...но если примерно, то за месяц около от 200 до 500 скидывают...
 
> а вот по тэгам не могу ниче сказать, я с этим ни разу не сталкивался...потому и спрашиваю...  
 
Вы свой файл XML смотрели?  
Чтобы написать макрос - надо знать соответствие тегов столбцам.  
К примеру, данные для столбца "Дата принятия " надо брать из тега "adoptionDate"  
и т.д.  
 
Код для перебора файлов в папке можете взять здесь: http://excelvba.ru/code/FilenamesCollection  
 
Код для импорта XML-файла и преобразования его в таблицу Excel можно найти здесь: http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/VBA/UseXmlDom.mspx  
 
Пробуйте - и, если не будет получаться, пишите, что конкретно не выходит.  
 
PS: Могу сделать готовую программу - но не бесплатно (работы много)
 
Понял, спасибо! буду пробывать.
 
Увадаемый EducatedFool, пробовал по первой ссылке выполнить некое решение-не совсем то...это решение выводит список файлов в эксель, а не их содержимое, т.е. не "оно", а что касается второй ссылки, так чтот "ВСЁ сложно", я в VB не очень...:-)
 
Смысл то я знаю что мне требуется, попробую сейчас расписать структуру, а вот как программно это сделть?  
Запускаем некий макрос на выполнение, а он:  
1.Ищет в указанной папке xml-файлы  
2.Открывает xml  
3.Сщздает новую книгу  
3.Находит в xml тег: DocKind  
4.Ищет непустое значение этого столбца  
 -если следующая строка этого столбца не пустая, то происходит копирование значения(одной строки, данного столбца) в новый(созданный чуть ранее)файл в столбец, допустим B2, а если все же пусто то ищет тэг DocKind3 потом DocKind6.  
5. в случае если в DocKind найдено значение и уже скопировано, то ищется следущий тэг(след.столбец) 'adoptionKindSubject' и копируется его значение в ранее созданный файл экселя в ячейку С2.....и т.д. до тех пор пока ни один из указанных тэгов в первой строке не закончатся.  
6. переход в xml файле на сл. строку  
7. далее повтор п.3,4,5.  
8. если в следущей строке не найден ни один тэг(пустая строка), то закрывается данный xml и открывается сл.файл.  
9. проверяется по имени файла, открывался ли он ранее, если нет, то выполняются все пункты с п.3 до п.8.  
 
 
....в общем,я думаю, наверно структура такая должна быть, но вот программно не могу...(((
Страницы: 1
Читают тему
Наверх
Loading...