Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/141: Рейтинг темы: голосов - 141, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21

Импорт данных из xml-файла

15.01.2014, 07:13. Показов 28486. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть такая задача:
  1. Есть xml файл в котором есть перечень сотрудников. Нужно циклом из этого файла фамилию каждого сотрудника выгрузить в отдельную ячейку в екселе. Как сделать это макросом
  2. Как сделать цикл, чтобы он сканировал xml файл до самой последней строки, так как не известно сколько сотрудников будет в нем указано.

Пример файла во вложении
Вложения
Тип файла: rar 9070481out.rar (426 байт, 182 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2014, 07:13
Ответы с готовыми решениями:

Много XML-файлов - импорт данных в один Excel
Добрый вечер! Прошу помочь в следующем вопросе. Имеется папка с несколькими тысячами xml-файлов. Пример одного прилагается. Структура...

Импорт данных из XML файла
Есть ХМЛ файл В нем есть таблица с записями Нужно импортировать ее в программу и затем вызывать из нее некоторые данные (что-то вроде...

Импорт данных из XML файла
Добрый день! Я новичок в Qt. Хочу спросить, каким способом можно организовать импорт данных из XML файлов? Мне уже говорили о Rest...

8
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
15.01.2014, 11:13
Цитата Сообщение от drzod Посмотреть сообщение
Есть xml файл в котором есть перечень сотрудников. Нужно циклом из этого файла фамилию каждого сотрудника выгрузить в отдельную ячейку в екселе. Как сделать это макросом
файл xml отрывается ровно также как книги экселя
Visual Basic Скопировано
1
2
dim wb as workbook
Set wb = Workbooks.Open("c:\9070481out\9070481out.xml")
В приложенном файле фамилии хранятся в 10-ом столбце, их значения в целевой файл можно считывать так
Visual Basic Скопировано
1
wb.Sheets(1).Cells(3, 10).Value
Цитата Сообщение от drzod Посмотреть сообщение
Как сделать цикл, чтобы он сканировал xml файл до самой последней строки, так как не известно сколько сотрудников будет в нем указано.
тело таблицы начинается с третьей строки, для определения общего количества строк можно использовать цикл
Visual Basic Скопировано
1
For x = 3 To wb.Sheets(1).UsedRange.Rows.Count
Добавлено через 2 минуты
drzod, а строчку которая будет вытягивать значения из xml в целевую книгу экселя уже за тобой
1
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
15.01.2014, 11:57  [ТС]
А представьте около 10000 cm файлов. Надо каждый так загружать? ))) хах, решение нашел. Все спасибо за помощь
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
15.01.2014, 12:03
Цитата Сообщение от drzod Посмотреть сообщение
А представьте около 10000 cm файлов. Надо каждый так загружать? )))
10000 cm ? это как
Цитата Сообщение от drzod Посмотреть сообщение
хах, решение нашел
в чем секрет, если не секрет ?
0
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
15.01.2014, 12:16  [ТС]
В вашем решении я как понимаю каждую xmlку макрос открывает и это визуально видно. Думаю это может плохо сказаться на производительности.

Вот так подсказали решение. Я потом пот себя переделал. Сделал цикл, чтобы выдергивать имя файла из ячейки, он "открывался" там искались определенные параметры. В случае их обнаружения выполнялось условие

А 10000 строк - ну хз, такой объем данных ))

Добавлено через 45 секунд
тут

Добавлено через 1 минуту
Короче домой приду, кину ссылку. С телефона не удобно ))
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
15.01.2014, 13:15
Цитата Сообщение от drzod Посмотреть сообщение
В вашем решении я как понимаю каждую xmlку макрос открывает и это визуально видно. Думаю это может плохо сказаться на производительности.
в моем решении xml открывается один раз и считывает все строки будь их хоть 100500. Или таких xml со списками фамилий не одна ?
0
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
15.01.2014, 13:28  [ТС]
Их Оооочень много

Добавлено через 1 минуту
В любом случае спасибо вам за помощь. Вы единственный откликнулись
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
15.01.2014, 15:00
Цитата Сообщение от drzod Посмотреть сообщение
Их Оооочень много
вчера в этой ветке помогали человеку исправить 150 книг эксель

Добавлено через 24 минуты
если все xml в одной папке то код будет такой
Visual Basic Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub drzod()
Dim TheFolder, TheFiles, AFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TheFolder = FSO.GetFolder("c:\9070481out\") ' папка где лежат все xml
Set TheFiles = TheFolder.Files
For Each AFile In TheFiles
ReadXML (AFile)
Next
End Sub
Sub ReadXML(af As String)
Dim xml_doc As New DOMDocument
Dim nde_test As IXMLDOMElement
xml_doc.Load af
For Each nde_test In xml_doc.SelectNodes("//Сотрудник")
  Debug.Print nde_test.SelectSingleNode("Фамилия").Text
Next
End Sub
Добавлено через 34 минуты
Цитата Сообщение от drzod Посмотреть сообщение
В любом случае спасибо вам за помощь. Вы единственный откликнулись
Не единственный, ведь код с DOMDocument тебе на другом форуме присоветовали
0
72 / 0 / 0
Регистрация: 19.06.2014
Сообщений: 68
16.03.2016, 11:32
Добрый день.
А как быть, если файл такого вида, меняю и ничего не получается(
Вложения
Тип файла: zip DIVBK08090001_3124_0000_2_0_3124_0000.zip (612 байт, 47 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2016, 11:32
Помогаю со студенческими работами здесь

Импорт данных из xml-файла в mysql
Здравствуйте, подскажите пожалуйста, как можно импортировать данные из xml-файла в mysql. <ROW DATA="19.06.2003"...

Импорт данных из XML файла в DataGridView
Как сделать импорт данных из XML файла в DataGridView? Как читать и загружать xml файл разобрался, но как именно передать в колонки ...

Импорт данных из большого файла XML в DBF
доброго времени суток! требуется перегнать XML файл в dbf, сложность в том, что XML довольно большой и целиком его обрабатывать...

Импорт данных из xml файла в sdf файл
Создаю sdf пустой, хочу скопировать туда выбранную пользователем xml (допустим через диалог пользователь выбирает xml файл на диске, и при...

Импорт данных из XML файла в SQL Manager Lite for PostgreSQL
у меня есть файлы, которые хотел бы импортировать в БД Есть таблица Test с полем xml пытаюсь сделать импорт COPY ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как использовать Behavior Graph в Unity при создании игрового AI
GameUnited 14.04.2025
Искусственный интеллект в играх прошел долгий путь эволюции. От простейших алгоритмов, движущих призраками в Pac-Man, до сложных систем, управляющих поведением персонажей в современных AAA-проектах. . . .
Создание и стилизация списков в SwiftUI
mobDevWorks 14.04.2025
Списки — фундаментальный элемент мобильных интерфейсов. От списка контактов до ленты новостей, от настроек до каталога товаров — трудно представить приложение, которое не использовало бы этот. . .
Паттерн SAGA и распределённые транзакции в микросервисной архитектуре
stackOverflow 14.04.2025
Переход от монолитной архитектуры к микросервисам принес множество преимуществ: гибкость разработки, независимость развертывания и масштабирования отдельных компонентов. Однако этот переход создал и. . .
Кастомные аллокаторы в C++ и оптимизация управления памятью
bytestream 14.04.2025
Работа с памятью в С++ всегда была и остаётся одной из самых увлекательных и сложных задач для программиста. Любой опытный C++ разработчик подтвердит: стандартные механизмы аллокации памяти – штука. . .
Организация сетей в Kubernetes и эффективное развертывание
Mr. Docker 14.04.2025
Сетевая инфраструктура Kubernetes представляет собой сложную, но хорошо спроектированную систему, которая позволяет контейнерам взаимодействовать между собой и с внешним миром. За кажущейся простотой. . .
Многопоточность в Rust: Fearless concurrency и практические примеры
golander 14.04.2025
Многопоточное программирование связано с рядом известных проблем. Наиболее распространенные из них — гонки данных (data races), взаимные блокировки (deadlocks) и условия гонки (race conditions). Эти. . .
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер