Несколько xml в один excel

Если вы ранее создали карту XML,вы можете использовать ее для импорта данных XML в ячейки, которые соеряду, но существуют также несколько способов и команд импорта данных XML без карты XML.

При наличии карты XML сделайте следующее для импорта данных XML в сопоставленные ячейки:

В карте XML выберите одну из сопоставленных ячеек.

На вкладке Разработчик нажмите кнопку Импорт.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

Другие способы импорта данных XML

Дополнительные сведения о проблемах см. в разделе Типичные проблемы при импорте данных XML в конце этой статьи.

Импорт файла данных XML в качестве XML-таблицы

На вкладке Разработчик нажмите кнопку Импорт.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

В диалоговом окне Импорт данных выполните одно из следующих действий:

Выберите XML-таблицу на существующем компьютере, чтобы импортировать содержимое файла данных XML в XML-таблицу на вашем компьютере в указанной ячейке.

Чтобы импортировать содержимое файла в XML-таблицу на новом, начиная с ячейки A1, выберите XML-таблицу на новом. Карта файла данных XML отобразится в области задач Источник XML.

Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Чтобы контролировать поведение данных XML (например, привязку данных, форматирование и макет), нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в диапазоне будут перезаписаны, но это можно изменить.

Импорт нескольких файлов данных XML

Выберите сопоставленную ячейку, чтобы импортировать несколько XML-файлов в один набор сопоставленных ячеек.

Если вы хотите импортировать несколько XML-файлов в несколько наборов сопоставленных ячеек, щелкните любую несопоставленную ячейку листа.

На вкладке Разработчик нажмите кнопку Импорт.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать.

Если файлы являются смежными, нажмите клавишу SHIFT, а затем щелкните первый и последний файл в списке. Все данные из XML-файлов будут импортированы и добавлены в сопоставленные ячейки.

Если файлы не являются смежными, нажмите клавишу CTRL, а затем щелкните все файлы списка, которые вы хотите импортировать.

Нажмите кнопку Импорт.

Если вы выбрали несколько файлов, появится диалоговое окно Импорт <>.xml файл. Выберите карту XML, соответствующую импортируемому файлу данных XML.

Чтобы использовать одну карту для всех выделенных файлов, которые еще не были импортированы, установите флажок Использовать эту карту XML для всех выбранных файлов этой схемы.

Импорт нескольких файлов данных XML в качестве внешних данных

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

Если вы используете Excel с подпиской наMicrosoft 365, щелкните Данные > Получить данные > из файла > из XML.

Если вы используете Excel 2016 или более раннюю версию, на вкладке Данные нажмите кнопку Из других источников, а затем щелкните Из импорта данных XML.

Выберите диск, папку или расположение в Интернете, где находится файл данных XML (XML-файл), который вы хотите импортировать.

Выберите файл и нажмите кнопку Открыть.

В диалоговом окне Импорт данных выберите один из следующих параметров:

В XML-таблицу в существующей книге. Содержимое файла импортируется в новую таблицу XML на новом листе. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Существующий таблица Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

На новый лист. Excel добавляет в книгу новый лист и автоматически помещает данные XML в его левый верхний угол. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Чтобы контролировать поведение данных XML, таких как привязка, форматирование и макет, нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в соеченом диапазоне перезаписываются, но это можно изменить.

Открытие файла данных XML для импорта данных

Выберите команду Файл > Открыть.

Если вы используете Excel 2007, нажмите Microsoft Office кнопку >открыть.

В диалоговом окне Открытие файла выберите диск, папку или веб-адрес, где расположен нужный файл.

Выберите файл и нажмите кнопку Открыть.

Если появится диалоговое окно Импорт XML, открытый файл ссылается на одну или несколько таблиц стилей XSLT, поэтому можно щелкнуть один из следующих параметров:

Открытие файла без применения таблицы стилей Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

Открыть файл, применив следующую таблицу стилей (выберите одну). Выберите таблицу стилей, которую вы хотите применить, и нажмите кнопку ОК. Данные XML будут отформатированы в соответствии с выбранным листом стилей.

Примечание: Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

Если появится диалоговое окно Открыть XML, в XML-файле не будет ссылок на таблицу стилей XSLT. Чтобы открыть файл, выберите один из следующих параметров:

Щелкните XML-таблица для создания XML-таблицы в новой книге.

Содержимое файла импортируется в XML-таблицу. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Выберите в качестве книги, которая будет работать только для чтения.

Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

Щелкните Использовать область задач XML-источника.

Карта файла данных XML отобразится в области задач Источник XML. Для сопоставления элементов схемы с листом их можно перетащить на лист.

Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Распространенные проблемы при импорте данных XML

Excel отображает диалоговое окно Ошибка импорта XML, если не может проверить данные в соответствии с картой XML. Чтобы получить дополнительные сведения об ошибке, нажмите кнопку Сведения в этом диалоговом окне. В следующей ниже таблице описаны ошибки, которые часто возникают при импорте данных.

Ошибка при проверке схемы

Когда вы выбрали в диалоговом окне Свойства карты XML параметр Проверять данные на соответствие схеме при импорте и экспорте, данные были импортированы, но не проверены на соответствие указанной карте XML.

Некоторые данные были импортированы как текст

Часть импортированных данных или все данные были преобразованы из объявленного типа в текст. Чтобы использовать эти данные в вычислениях, необходимо преобразовать их в числа или даты. Например, значение даты, преобразованное в текст, не будет работать должным образом в функции ГОД, пока вы не преобразуйте его в тип данных «Дата». Excel преобразует данные в текст в следующих случаях:

Данные в формате, который Excel не поддерживается.

Данные несовместимы с внутренним представлением типа данных XSD в Excel. Чтобы исправить эту проблему, удостоверьтесь, что данные XML соответствуют XML-схеме, проверив каждое из определений типа данных.

Ошибка разбора XML

Средству синтаксического анализа XML не удается открыть указанный XML-файл. Убедитесь, что в XML-файле отсутствуют синтаксические ошибки и XML построен правильно.

Не удается найти карту XML, соответствующую этим данным

Эта проблема может возникнуть в том случае, если для импорта выбрано несколько файлов данных XML и Excel не удается найти соответствующую карту XML для одного из них. Импортируйте схему для файла, указанного в строке заголовка этого диалогового окна, сначала следует, а затем повторно выполните импорт файла.

Не удается изменить размер XML-таблицы для включения данных

Вы пытаетесь добавить строки путем импорта или добавления данных в XML-таблицу, однако таблицу невозможно расширить. XML-таблицу можно дополнять только снизу. Например, сразу под XML-таблицей может находиться объект, такой как рисунок или даже другая таблица, который не позволяет расширить ее. Кроме того, возможно, что при расширении XML-таблицы будет превышен установленный в Excel предел по количеству строк (1 048 576). Чтобы исправить эту проблему, измените расположение таблиц и объектов на листе, чтобы XML-таблица могла дополняться снизу.

Указанный XML-файл не ссылается на схему

XML-файл, который вы пытаетесь открыть, не ссылается на схему XML. Для работы с данными XML, содержащимися в файле, Excel требуется схема, основанная на его содержимом. Если такая схема неверна или не отвечает вашим требованиям, удалите ее из книги. Затем создайте файл схемы XML и измените файл данных XML так, чтобы он ссылался на схему. Дополнительные сведения см. в статье Сопоставление XML-элементов с ячейками карты XML.

Примечание: Схему, созданную Excel, невозможно экспортировать в качестве отдельного файла данных схемы XML (XSD-файла). Хотя существуют редакторы схем XML и другие способы создания файлов схемы XML, возможно, вы не имеете к ним доступа или не знаете, как ими пользоваться.

Выполните следующие действия, чтобы удалить из книги схему, созданную Excel:

На вкладке Разработчик выберите команду Источник.

Команды XML на вкладке "Разработчик"

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В области задач Источник XML выберите пункт Карты XML.

В диалоговом окне Карты XML щелкните карту XML, созданную Excel ,и нажмите кнопку Удалить.

Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы

При работе с несколькими файлами данных XML и несколькими схемами XML стандартным подходом является создание карты XML для каждой схемы, сопоставление нужных элементов, а затем импорт каждого из файлов данных XML в соответствующую карту XML. При использовании команды Импорт для открытия нескольких XML-файлов с одним пространством имен можно использовать только одну схему XML. Если эта команда используется для импорта нескольких XML-файлов, использующих одно пространство имен при разных схемах, можно получить непредсказуемые результаты. Например, это может привести к тому, что данные будут перезаписаны или файлы перестанут открываться.

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML (выберите Данные > Из других источников). Эта команда позволяет импортировать несколько XML-файлов с одним пространством имен и разными схемами XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

Отображение вкладки «Разработчик»

Если вкладка Разработчик недоступна, выполните следующие действия, чтобы открыть ее.

В Excel 2013 и Excel 2010

Выберите Файл > Параметры.

Щелкните категорию Настроить ленту.

В разделе Основные вкладки установите флажок Разработчик и нажмите кнопку ОК.

Нажмите кнопку Microsoft Office кнопку >Excel параметры.

Выберите категорию Основные.

В разделе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

Как объеденить кучу Excel файлов в один?

Передо мной стала задача — нужно автоматизировать рутинную работу. Есть куча Excel файлов и нужно собрать их в один. Делать это придется неоднократно, поэтому стал вопрос в написании программы.

Вопрос заключается в следующем: объективно ли будет писать данную программу на Python? Если нет, то как можно решить данную проблему проще?

Заранее благодарен всем, кто попытается помочь.

  • Вопрос задан более трёх лет назад
  • 109280 просмотров
  • Facebook
  • Вконтакте
  • Twitter

mirzaiskandarov

Предположим, имеется куча книг Excel, все листы из которых надо объединить в один файл. Копировать руками долго и мучительно, поэтому имеет смысл использовать несложный макрос.

Открываем книгу, куда хотим собрать листы из других файлов, входим в редактор Visual Basic (ALT+F11), добавляем новый пустой модуль (в меню Insert — Module) и копируем туда текст вот такого макроса:

Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

Application.ScreenUpdating = False ‘отключаем обновление экрана для скорости

‘вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:=»All files (*.*), *.*», _
MultiSelect:=True, Title:=»Files to Merge»)

If TypeName(FilesToOpen) = «Boolean» Then
MsgBox «Не выбрано ни одного файла!»
Exit Sub
End If

Как объединить xml файлы в один excel

Время прочтения: 2 мин.

Для объединения подходят многие файлы с данными. Обычно это результаты выгрузки из автоматизированных систем.

Файлы могут быть в формате txt, csv, xml, xlsx. C текстовыми файлами txt, csv никаких проблем нет, данные просто будут в одной общей таблице.

C xml-файлами немного сложнее, так как их структура может быть непредсказуема (многоуровневая табличная архитектура), но, в основном, надстройка POWERQUERY легко справляется и с ними.

Кроме того, мы можем ещё до объединения файлов, сделать обработку.

Например, удалить или отфильтровать столбцы, разбить столбец на несколько или наоборот объединить несколько столбцов в один, удалить лишние пробелы в столбце. Можно даже изменить тип данных столбца, если это необходимо. Следует отметить, что данная настройка есть по умолчанию в MS Excel с версии 2016 года.

Как все это работает?

Допустим у нас есть папка с файлами, которые необходимо объединить в один. Первым делом, мы открываем пустой файл xlsx.

В верхнем меню выбираем «Данные», затем «Создать запрос» и указываем нашу папку с файлами.

Нажимаем объединить и изменить

Нажимаем кнопку ОК и работаем с предварительным просмотром, где можно производить редактирование таблицы.

После проведенных манипуляций (фильтрование, удаление каких-либо полей и т.д.), нажимаем «Закрыть и загрузить». Объединенная таблица(запрос) выгрузится на лист. Кроме того, если у нас поменяются исходные файлы, не требуется заново создавать запрос, достаточно будет просто обновить уже имеющийся.

Ещё одна, очень важная, возможность PowerQuery — объединение нескольких запросов.

Например, мы первым запросом объединили несколько файлов, вторым объединили другие файлы. Тогда можно их соединить, при наличии у них одинакового поля. Следует отметить, что поддерживается правое, левое и полное соединение.

Как быстро импортировать несколько файлов csv / text / xml в Excel?

В Excel вам, возможно, приходилось сохранять книгу как файл csv, текстовый файл или файл xml, но пробовали ли вы когда-нибудь импортировать несколько файлов csv / text / xml из папки в книгу или рабочий лист? В этой статье я расскажу о некоторых методах их быстрого пакетного импорта.

Импортируйте несколько текстовых файлов из папки на каждый лист книги с помощью VBA

Импортируйте несколько файлов CSV из папки на один лист с помощью VBA

Импортируйте несколько файлов xml из папки на один лист с помощью VBA

Импортируйте или объедините несколько файлов xml/csv в лист или книгу с Kutools for Excel хорошая идея3

Экспортируйте каждый лист как csv/text/pdf в папку с Kutools for Excelхорошая идея3


Чтобы импортировать текстовые файлы из папки в книгу, вы можете использовать приведенный ниже VBA для быстрой обработки.

1. Включите пустую книгу и нажмите Alt + F11 ключи для открытия Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте VBA в Модули окно.

VBA: импортировать все текстовые файлы из папки в книгу

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. Нажмите F5 ключа или Run кнопку, чтобы запустить VBA, и выберите папку, из которой вы хотите импортировать текстовые файлы, в появившемся диалоговом окне. Смотрите скриншот:

doc импортировать несколько текстов csv xml 1

4. И нажмите OK, и каждый текстовый файл в выбранной папке был импортирован на один рабочий лист активной книги. Смотрите скриншот:

doc импортировать несколько текстов csv xml 2doc импортировать несколько текстов csv xml 3



Чтобы импортировать все файлы CSV из папки на один лист, вы можете использовать приведенный ниже код VBA.

1. Включите пустой рабочий лист и нажмите Alt + F11 ключи для открытия Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте ниже VBA в новый Модули окно.

VBA: импорт файлов CSV из папки в один рабочий лист

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. Нажмите F5 ключ или щелкните Run кнопку для выполнения VBA, и появится диалоговое окно для выбора папки, из которой вы хотите импортировать все CSV-файлы. Смотрите скриншот:

doc импортировать несколько текстов csv xml 4

4. Нажмите OK, и появится диалоговое окно, напоминающее вам, если очистить содержимое активного листа перед импортом, здесь я нажимаю Да. Смотрите скриншот:

doc импортировать несколько текстов csv xml 5

После нажатия кнопки Да, все CSV-файлы в выбранной папке импортируются в текущий лист и помещают данные из столбца A справа. Смотрите скриншот:

doc импортировать несколько текстов csv xml 6doc импортировать несколько текстов csv xml 7

Наконечник: Если вы хотите разместить файлы CSV горизонтально на листе, вы можете использовать ниже VBA.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

doc импортировать несколько текстов csv xml 8


Если вы хотите импортировать все файлы XML из папки на один лист, вы можете использовать приведенный ниже код VBA.

1. Выберите чистый лист, на который вы хотите поместить импортированные данные, и нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модуливставьте код VBA в Модули окно.

VBA: импорт XML-файлов из папки в рабочий лист.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. Нажмите Run или F5 ключ для запуска VBA и выберите папку в диалоговом окне, см. снимок экрана:

doc импортировать несколько текстов csv xml 9

4. Нажмите OK, и все файлы XML в выбранной папке будут импортированы в активный лист.


Если вы не знакомы с VBA, беспокойтесь, здесь я представляю удобный инструмент — Kutools for Excel для вас. С его мощным Сочетать утилиту, вы можете быстро объединить несколько файлов xml или csv в одну книгу или один лист Excel.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Active Excel и щелкните Кутулс Плюс > Сочетать. Смотрите скриншот :
док комбинировать 1

2. А в шаг 1 комбинирования В диалоговом окне выберите нужный вариант разделения. Смотрите скриншот:
док комбинировать 2

3. Нажмите Download идти на шаг 2 комбинирования, нажмите Добавить добавлять файлы из разных папок или файлы из одной папки в Workbook список, а также вы можете указать листы, которые хотите объединить из Рабочий лист список правого раздела. Смотрите скриншот:
doc kutools объединить листы 3

4. Нажмите Download до последнего шага Сочетать, и вы можете указать параметры комбинирования.
doc kutools объединить листы 4

5. Нажмите Завершить, появится диалоговое окно с напоминанием о выборе места для сохранения нового комбинированного результата. Смотрите скриншот:
док комбинировать 5

6. Нажмите Сохраните. Все добавляемые листы были объединены в новый единый лист.
док комбинировать 6

Наконечник: Работы С Нами Сочетать, вы также можете объединить несколько Файлы CSV сформировать несколько папок или одну папку в один лист или книгу.


Если вы хотите экспортировать каждый лист как файл csv / text / pdf в папку, Kutools for ExcelАвтора Разделить книгу Утилита может оказать вам услугу.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Включите книгу, листы которой вы хотите экспортировать, и нажмите Кутулс Плюс > Workbook > Разделить книгу. Смотрите скриншот:

doc импортировать несколько текстов csv xml 10

2. в Разделить книгу в диалоговом окне вы можете проверить имена листов, которые нужно экспортировать, по умолчанию все листы отмечены, и проверить Укажите формат сохранения и выберите формат файла, который вы хотите сохранить, в раскрывающемся списке ниже. Смотрите скриншот:

doc импортировать несколько текстов csv xml 11

3. Нажмите Трещина и выберите папку для сохранения разделенных файлов в Найдите папку диалог, см. снимок экрана:

doc импортировать несколько текстов csv xml 12

4. Нажмите OK, теперь все отмеченные листы экспортируются как новый формат файла в выбранную папку.


Относительные статьи:

  • Как преобразовать гиперссылку в обычный текст в Excel?
  • Как преобразовать десятичное число в двоичное / восьмеричное / шестнадцатеричное число или наоборот в Excel?
  • Как вставить текущий курс обмена в Excel?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Доброе время суток
Можете воспользоваться следующим алгоритмом
1. Создаёте объект xml-документа CreateObject(«MSXML2.DOMDocument»)
2. создаёте fso-объект CreateObject(«Scripting.FileSystemObject»)
3. Получаете ссылку на папку через GetFolder
4. Создаёте массив вывода на лист числом столбцов по требуемым данным, а числом строк — по числу файлов, предполагаю, что один файл одна строка таблицы Excel.
5. Цикл по файлам папки
6. Для каждого файла, если его расширение xml
7. Через Load объекта документа загружаете данные
8. Через SelectSingleNode(«/ru-patent-document»), прописывая путь к узлу (в примере к коренвому) получаете ссылку на требуемый узел
9. Если объект не Nothing, то по свойству Text получаете значение и записываете в текущую строку в соответствующий столбец массива вывода
10. По окончании цикла, записываете массив на лист и формируете строку названий столбцов на листе.

Проблемы, нужно держать в папке dtd-файл определения схемы ru-patent-document-v1-4.dtd, если его не будет, то DOMDocument не сможет прочитать данные. Можно обойти, предварительно макросом, используя ADODB.Stream, считать в строку все данные и, удаляя строку определения <!DOCTYPE ru-patent-document SYSTEM «ru-patent-document-v1-4.dtd»> в ней, загружать её в объект документа через LoadXML

Как вариант, можно использовать Power Query, он может считывать данные xml без наличия файла схемы в папке.

Успехов.

Сбор данных из нескольких файлов xml

meiv

Дата: Среда, 29.04.2015, 12:51 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый день!
Прошелся поиском по форуму, прочел все что нашел, но свой вопрос остался не решен.
Суть: Есть множество файлов xml с данными (каждый файл — 48 строк данных за 1 сутки (1 строка — получас), всего файлов — за год — в 12 папках по 28-31 файлу в каждой папке соответственно кол-ву дней в месяце).
Нужно со всех этих файлов данные собрать в 1 файл xls с 12 листами — месяцами, т.е., например на листе «январь» должны быть данные из 31 файла xml из папки «январь».
Данные расположить в форме первоначальной таблицы, но за все дни месяца в одной.

В идеале хотелось бы объединить 2 строки в одну, с суммированием значений в столбце «value», т.е. сделать из получасовых данных — часовые (24 за сутки)

 

Ответить

SLAVICK

Дата: Среда, 29.04.2015, 15:26 |
Сообщение № 2

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

Как то так.
Распакуйте архив.
Положите все свои файлы в папку XML.
Нажмите кнопку на 2-м листе.
Макрос соберет данные на 2-й лист.
Потом можно сделать сводную.

Дальше в сводной делаете нужный вам отчет.

К сообщению приложен файл:

8892197.rar
(30.5 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICKСреда, 29.04.2015, 15:41

 

Ответить

meiv

Дата: Четверг, 30.04.2015, 06:09 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

SLAVICK
Спасибо, все работает!
Простите за мою лень, а можно сделать так чтобы собирал сразу за год на отдельные листочки, а не по одному месяцу?
И перевести получас в час…


AndreTM

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

К сообщению приложен файл:

5723103.zip
(65.1 Kb)

Сообщение отредактировал meivЧетверг, 30.04.2015, 06:21

 

Ответить

SLAVICK

Дата: Четверг, 30.04.2015, 18:29 |
Сообщение № 4

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

Можно, но зачем?
У Вас все данные будут собраны на один лист — дальше можно легко добавить нужные формулы(если нужно) и сделать сводную за весь период сразу А дальше из нее делать нужные отчеты.
Если данные будут на разных листах — то будет сложнее делать итоговые отчеты.

Может Вы имели ввиду сразу со всех подпапок? — можно допилить макрос, но можно просто в папку ХML скинуть сразу все файлы с всех месяцев — они же названы по разному.

Сделайте краткий пример того что-бы Вы хотели получить в итоге. А дальше будет видно.

И перевести получас в час…

Макрос просто собирает информацию с Ваших файлов — ничего не переделывает. Можно сделать сводную на основе полученных данных — и ее привести в тот вид, который нужно.

ЗЫ
Я ответить смогу только после 5-го числа — праздники на носу :D


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICKЧетверг, 30.04.2015, 18:36

 

Ответить

krosav4ig

Дата: Суббота, 02.05.2015, 16:17 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

meiv, может вы все-таки покажете excel файл с примером желаемого результата?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

no_brain

Дата: Четверг, 05.04.2018, 18:39 |
Сообщение № 6

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Добрый день!

столкнулся с необходимостью свести большое к-во файлов XML в одну таблицу на одном листе (похожая на таблицу в первом посте) — они одинакового формата, с одинаковым к-вом строк и столбцов.
с макросами толком не работал — прошу вашей помощи.

К сообщению приложен файл:

210_.7z
(62.0 Kb)

 

Ответить

SLAVICK

Дата: Пятница, 06.04.2018, 09:14 |
Сообщение № 7

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

столкнулся с необходимостью свести

вы мой пример со 2-го поста смотрели?
он чудно собирает данные с ваших примеров. Все что нужно — это положить свои файлы в папку ХML, нажать кнопку и подождать пару минут…


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Annushka

Дата: Среда, 06.06.2018, 17:30 |
Сообщение № 8

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, приветствую!
Воспользовалась Вашим примером для сбора xml в один xls.
Выдает ошибку: «Невозможно выполнить операцию, поскольку ее результат будет прерывать существующее сопоставление XML» 1004.
Срока ThisWorkbook.XmlImport URL:=f, ImportMap:=Nothing, Overwrite:=True, Destination:=Range(«$A$1»)

Подскажите, пожалуйста, в чем причина и как исправить? :'(
Пример файлов во вложении.

К сообщению приложен файл:

test.rar
(73.3 Kb)

 

Ответить

SLAVICK

Дата: Четверг, 07.06.2018, 16:22 |
Сообщение № 9

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

поскольку ее результат будет прерывать существующее сопоставление XML» 1004.

где то я это уже слышал…
есть такой момент, связано с багом Excel при разборе схемы.
Решается относительно легко при помощи удаления-создания листа.
См. пример — там это сделано + добавил в статусную строку статус выполнения
[vba]

Код

Sub pusk()
Dim r As Range, f$, n&, n1&, i%, d As Object
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim SH As Worksheet
Set objFSO = CreateObject(«Scripting.FileSystemObject»)
Set objFolder = objFSO.GetFolder(ThisWorkbook.Path & «xml»)
Application.DisplayAlerts = False
On Error GoTo ERRH
For Each objFile In objFolder.Files
f = objFile.Path
    Sheets(1).Delete
    Sheets.Add
    ThisWorkbook.XmlImport URL:=f, ImportMap:=Nothing, Overwrite:=True, Destination:=Range(«$A$1»)
‘удаление подключения
For Each d In ActiveWorkbook.Connections
d.Delete
Next
    n = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    n1 = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row + 1
    Sheets(2).Range(«a» & n1 & «:q» & n1 + n — 2).Value = Sheets(1).Range(«a2:q» & n).Value
    i = i + 1
   Application.StatusBar = i
Next
Application.StatusBar = False
Sheets(2).Activate
Application.DisplayAlerts = True
Exit Sub
ERRH:
MsgBox «Error:» & vbLf & f
End Sub

[/vba]

К сообщению приложен файл:

0330027.xlsm
(41.0 Kb)


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Annushka

Дата: Четверг, 07.06.2018, 16:40 |
Сообщение № 10

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, спасибо!
Вроде получается, только вот как расширить диапазон столбцов в листе «Сбор» (сейчас там до Q)?
А мне нужны данные из середины — c AH по AR.

 

Ответить

SLAVICK

Дата: Четверг, 07.06.2018, 16:58 |
Сообщение № 11

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

расширить диапазон столбцов в листе «Сбор» (сейчас там до Q)?

Sheets(2).Range(«a» & n1 & «:q» & n1 + n — 2).Value = Sheets(1).Range(«a2:q» & n).Value

Меняйте на AH по AR


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Annushka

Дата: Четверг, 07.06.2018, 17:48 |
Сообщение № 12

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, :( работает, но пропадает одна строка из одного файла.
В первом файле 671 строк
в 2м = 1 срока
в 3м = 3 строки
Итого должно быть 675 строк.
А в своде 674 :(

Если обрабатываю только 2 файла, то кол-во строк правильное…Не пойму в чем проблема %)

 

Ответить

SLAVICK

Дата: Пятница, 08.06.2018, 09:23 |
Сообщение № 13

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019


Это с шапкой, или без?
Макрос собирает строки без шапки, еще как вариант — пустая ячейка в первом столбце — попробуйте заменить строку
[vba]

Код

n = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row

[/vba]
на
[vba]

Код

n = Sheets(1).UsedRange.Rows.Count

[/vba]


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Annushka

Дата: Пятница, 08.06.2018, 09:59 |
Сообщение № 14

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, строки считала без шапки.
Почему-то при СБОРЕ по файлу, где фактически 3 строки, отражается только 2.
Файл на 14Кб.

К сожалению, замена строки в коде не помогла((

 

Ответить

Annushka

Дата: Пятница, 08.06.2018, 10:02 |
Сообщение № 15

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, при чем когда беру только 2 файла из этой группы — все нормально, строки все.

 

Ответить

SLAVICK

Дата: Пятница, 08.06.2018, 10:21 |
Сообщение № 16

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019


размер тут не имеет значения.

где фактически 3 строки, отражается только 2

Где отображается?
Т.е. из файла открывается 2е строки или копируется? Возможно некорректное построение XML. Нужно смотреть файл и сравнивать его с корректным


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Annushka

Дата: Пятница, 08.06.2018, 10:22 |
Сообщение № 17

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, это может быть связано с тем, что в файлах объемом 1 срока, нет шапки?
Пробовала собирать только такие файлы (1 срочные), ничего не выходит — в сборе результат только по последнему файлу(((
Но когда обрабатываю такие 1 срочные файлы вместе с «большими», сбор работает.

 

Ответить

Annushka

Дата: Пятница, 08.06.2018, 10:30 |
Сообщение № 18

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK,

Где отображается?
Т.е. из файла открывается 2е строки или копируется? Возможно некорректное построение XML. Нужно смотреть файл и сравнивать его с корректным

В вкладке сбор, после запуска макроса. Смотрю строки по этому файлу и их 2 шт.
Когда сам файл отдельно открываю экселем, там 3 строки.

 

Ответить

SLAVICK

Дата: Пятница, 08.06.2018, 10:33 |
Сообщение № 19

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

что в файлах объемом 1 срока, нет шапки?

конечно — так и есть.
Я же писал

Это с шапкой, или без?
Макрос собирает строки без шапки, е

Если у вас чередуются файлы с шапкой и без — это плохо. Обойти можно — собирая все строки, включая шапку — а потом вручную удалять строки с шапкой, или удалять дубликаты(второй вариант на всегда допустим.)
чтобы собирать с шапкой меняйте строку:
[vba]

Код

    Sheets(2).Range(«a» & n1 & «:q» & n1 + n — 2).Value = Sheets(1).Range(«a2:q» & n).Value

[/vba] на
[vba]

Код

    Sheets(2).Range(«a» & n1 & «:q» & n1 + n — 1).Value = Sheets(1).Range(«a1:q» & n).Value

[/vba]


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Annushka

Дата: Пятница, 08.06.2018, 10:45 |
Сообщение № 20

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

SLAVICK, поменяла код, как Вы сказали, чтобы сбор был с шапками. Затем удаляю их ручками.
ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ! ДАЙ БОГ ВАМ ЗДОРОВЬЯ! :) hands

 

Ответить

Если вы ранее создали карту XML,вы можете использовать ее для импорта данных XML в ячейки, которые соеряду, но существуют также несколько способов и команд импорта данных XML без карты XML.

При наличии карты XML сделайте следующее для импорта данных XML в сопоставленные ячейки:

  1. В карте XML выберите одну из сопоставленных ячеек.

  2. На вкладке Разработчик нажмите кнопку Импорт.

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  3. В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

Другие способы импорта данных XML

  • Импорт файла данных XML в качестве XML-таблицы

  • Импорт нескольких файлов данных XML

  • Импорт нескольких файлов данных XML в качестве внешних данных

  • Открытие файла данных XML для импорта данных

Дополнительные сведения о проблемах см. в разделе Типичные проблемы при импорте данных XML в конце этой статьи.

Импорт файла данных XML в качестве XML-таблицы

  1. На вкладке Разработчик нажмите кнопку Импорт.

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  2. В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

    Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

  3. В диалоговом окне Импорт данных выполните одно из следующих действий:

    1. Выберите XML-таблицу на существующем компьютере, чтобы импортировать содержимое файла данных XML в XML-таблицу на вашем компьютере в указанной ячейке.

    2. Чтобы импортировать содержимое файла в XML-таблицу на новом, начиная с ячейки A1, выберите XML-таблицу на новом. Карта файла данных XML отобразится в области задач Источник XML.

  4. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

  5. Чтобы контролировать поведение данных XML (например, привязку данных, форматирование и макет), нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в диапазоне будут перезаписаны, но это можно изменить.

Импорт нескольких файлов данных XML

  1. Выберите сопоставленную ячейку, чтобы импортировать несколько XML-файлов в один набор сопоставленных ячеек.

    Если вы хотите импортировать несколько XML-файлов в несколько наборов сопоставленных ячеек, щелкните любую несопоставленную ячейку листа.

  2. На вкладке Разработчик нажмите кнопку Импорт.

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  3. В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать.

    • Если файлы являются смежными, нажмите клавишу SHIFT, а затем щелкните первый и последний файл в списке. Все данные из XML-файлов будут импортированы и добавлены в сопоставленные ячейки.

    • Если файлы не являются смежными, нажмите клавишу CTRL, а затем щелкните все файлы списка, которые вы хотите импортировать.

  4. Нажмите кнопку Импорт.

    Если вы выбрали несколько файлов, появится диалоговое окно Импорт <>.xml файл. Выберите карту XML, соответствующую импортируемому файлу данных XML.

    Чтобы использовать одну карту для всех выделенных файлов, которые еще не были импортированы, установите флажок Использовать эту карту XML для всех выбранных файлов этой схемы.

Импорт нескольких файлов данных XML в качестве внешних данных

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

  1. Если вы используете Excel с подпиской наMicrosoft 365, щелкните Данные > Получить данные > из файла > из XML.

    Если вы используете Excel 2016 или более раннюю версию, на вкладке Данные нажмите кнопку Из других источников, а затем щелкните Из импорта данных XML.

  2. Выберите диск, папку или расположение в Интернете, где находится файл данных XML (XML-файл), который вы хотите импортировать.

  3. Выберите файл и нажмите кнопку Открыть.

  4. В диалоговом окне Импорт данных выберите один из следующих параметров:

    • В XML-таблицу в существующей книге.    Содержимое файла импортируется в новую таблицу XML на новом листе. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

    • Существующий таблица    Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

    • На новый лист.    Excel добавляет в книгу новый лист и автоматически помещает данные XML в его левый верхний угол. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

  5. Чтобы контролировать поведение данных XML, таких как привязка, форматирование и макет, нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в соеченом диапазоне перезаписываются, но это можно изменить.

Открытие файла данных XML для импорта данных

  1. Выберите команду Файл > Открыть.

    Если вы используете Excel 2007, нажмите Microsoft Office кнопку Изображение кнопки Office >открыть.

  2. В диалоговом окне Открытие файла выберите диск, папку или веб-адрес, где расположен нужный файл.  

  3. Выберите файл и нажмите кнопку Открыть.

  4. Если появится диалоговое окно Импорт XML, открытый файл ссылается на одну или несколько таблиц стилей XSLT, поэтому можно щелкнуть один из следующих параметров:

    • Открытие файла без применения таблицы стилей    Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

    • Открыть файл, применив следующую таблицу стилей (выберите одну).    Выберите таблицу стилей, которую вы хотите применить, и нажмите кнопку ОК. Данные XML будут отформатированы в соответствии с выбранным листом стилей.

      Примечание: Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

  5. Если появится диалоговое окно Открыть XML, в XML-файле не будет ссылок на таблицу стилей XSLT. Чтобы открыть файл, выберите один из следующих параметров:

    • Щелкните XML-таблица для создания XML-таблицы в новой книге.

      Содержимое файла импортируется в XML-таблицу. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

    • Выберите в качестве книги, которая будет работать только для чтения.

      Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

      Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

    • Щелкните Использовать область задач XML-источника.

      Карта файла данных XML отобразится в области задач Источник XML. Для сопоставления элементов схемы с листом их можно перетащить на лист.

      Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Распространенные проблемы при импорте данных XML

Excel отображает диалоговое окно Ошибка импорта XML, если не может проверить данные в соответствии с картой XML. Чтобы получить дополнительные сведения об ошибке, нажмите кнопку Сведения в этом диалоговом окне. В следующей ниже таблице описаны ошибки, которые часто возникают при импорте данных.

Ошибка

Объяснение

Ошибка при проверке схемы

Когда вы выбрали в диалоговом окне Свойства карты XML параметр Проверять данные на соответствие схеме при импорте и экспорте, данные были импортированы, но не проверены на соответствие указанной карте XML.

Некоторые данные были импортированы как текст

Часть импортированных данных или все данные были преобразованы из объявленного типа в текст. Чтобы использовать эти данные в вычислениях, необходимо преобразовать их в числа или даты. Например, значение даты, преобразованное в текст, не будет работать должным образом в функции ГОД, пока вы не преобразуйте его в тип данных «Дата». Excel преобразует данные в текст в следующих случаях:

  • Данные в формате, который Excel не поддерживается.

  • Данные несовместимы с внутренним представлением типа данных XSD в Excel. Чтобы исправить эту проблему, удостоверьтесь, что данные XML соответствуют XML-схеме, проверив каждое из определений типа данных.

Ошибка разбора XML

Средству синтаксического анализа XML не удается открыть указанный XML-файл. Убедитесь, что в XML-файле отсутствуют синтаксические ошибки и XML построен правильно.

Не удается найти карту XML, соответствующую этим данным

Эта проблема может возникнуть в том случае, если для импорта выбрано несколько файлов данных XML и Excel не удается найти соответствующую карту XML для одного из них. Импортируйте схему для файла, указанного в строке заголовка этого диалогового окна, сначала следует, а затем повторно выполните импорт файла.

Не удается изменить размер XML-таблицы для включения данных

Вы пытаетесь добавить строки путем импорта или добавления данных в XML-таблицу, однако таблицу невозможно расширить. XML-таблицу можно дополнять только снизу. Например, сразу под XML-таблицей может находиться объект, такой как рисунок или даже другая таблица, который не позволяет расширить ее. Кроме того, возможно, что при расширении XML-таблицы будет превышен установленный в Excel предел по количеству строк (1 048 576). Чтобы исправить эту проблему, измените расположение таблиц и объектов на листе, чтобы XML-таблица могла дополняться снизу.

Указанный XML-файл не ссылается на схему

XML-файл, который вы пытаетесь открыть, не ссылается на схему XML. Для работы с данными XML, содержащимися в файле, Excel требуется схема, основанная на его содержимом. Если такая схема неверна или не отвечает вашим требованиям, удалите ее из книги. Затем создайте файл схемы XML и измените файл данных XML так, чтобы он ссылался на схему. Дополнительные сведения см. в статье Сопоставление XML-элементов с ячейками карты XML.

Примечание: Схему, созданную Excel, невозможно экспортировать в качестве отдельного файла данных схемы XML (XSD-файла). Хотя существуют редакторы схем XML и другие способы создания файлов схемы XML, возможно, вы не имеете к ним доступа или не знаете, как ими пользоваться.

Выполните следующие действия, чтобы удалить из книги схему, созданную Excel:

  1. На вкладке Разработчик выберите команду Источник.

    Команды XML на вкладке "Разработчик"

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  2. В области задач Источник XML выберите пункт Карты XML.

  3. В диалоговом окне Карты XML щелкните карту XML, созданную Excel ,и нажмите кнопку Удалить.

Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы

При работе с несколькими файлами данных XML и несколькими схемами XML стандартным подходом является создание карты XML для каждой схемы, сопоставление нужных элементов, а затем импорт каждого из файлов данных XML в соответствующую карту XML. При использовании команды Импорт для открытия нескольких XML-файлов с одним пространством имен можно использовать только одну схему XML. Если эта команда используется для импорта нескольких XML-файлов, использующих одно пространство имен при разных схемах, можно получить непредсказуемые результаты. Например, это может привести к тому, что данные будут перезаписаны или файлы перестанут открываться.

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML (выберите Данные > Из других источников). Эта команда позволяет импортировать несколько XML-файлов с одним пространством имен и разными схемами XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

Отображение вкладки «Разработчик»

Если вкладка Разработчик недоступна, выполните следующие действия, чтобы открыть ее.

  • В Excel 2013 и Excel 2010

    1. Выберите Файл > Параметры.

    2. Щелкните категорию Настроить ленту.

    3. В разделе Основные вкладки установите флажок Разработчик и нажмите кнопку ОК.

  • В Excel 2007

    1. Нажмите кнопку Microsoft Office кнопку Изображение кнопки Office>Excel параметры.

    2. Выберите категорию Основные.

    3. В разделе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

См. также

Просмотр XML в Excel

Сопоставление XML-элементов с ячейками карты XML

Экспорт данных XML

Понравилась статья? Поделить с друзьями:
  • Несколько word файлов в пдф
  • Несколько word в один word online
  • Несколько txt в один excel
  • Несколько txt в word
  • Несколько excel файлов в один pdf файл