KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как быстро выполнить пакетный импорт нескольких CSV-, текстовых или XML-файлов в Excel?

АвторSunДата изменения

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


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

Чтобы импортировать текстовый файл из папки в книгу, воспользуйтесь приведённым ниже кодом 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 или кнопку Выполнить, чтобы запустить код VBA. В появившемся диалоговом окне выберите папку — «Выберите папку, из которой нужно импортировать текстовый файл». См. снимок экрана:

снимок экрана выбора папки, из которой вы хотите импортировать файлы TXT

4. Нажмите кнопку OK, и каждый текстовый файл из выбранной папки будет импортирован на отдельный лист в текущей книге. См. снимок экрана:

снимок экрана, показывающий, что каждый текстовый файл из выбранной папки был импортирован на отдельные листы текущей книгиснимок экрана, показывающий, что каждый текстовый файл из выбранной папки был импортирован на отдельные листы текущей книги 2
снимок экрана kutools for excel ИИ

Раскройте магию Excel с помощью KUTOOLS AI

  • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
  • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
  • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
  • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
  • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Расширьте возможности Excel с помощью инструментов на базе ИИ.Скачать сейчаси ощутите эффективность, как никогда раньше!

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

Чтобы импортировать все 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 или кнопку Выполнить, чтобы запустить код VBA. В появившемся диалоговом окне укажите папку: выберите папку, из которой нужно импортировать все файлы CSV. См. снимок экрана:

снимок экрана выбора папки, из которой вы хотите импортировать файлы CSV на один лист

4. Нажмите кнопку OK, после чего появится диалоговое окно с запросом на очистку содержимого активного листа перед импортом. Я выбираю Да. См. снимок экрана:

снимок экрана окна с запросом о том, нужно ли очистить существующий лист перед импортом файлов CSV

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

снимок экрана, показывающий, что все файлы CSV из выбранной папки импортированы на текущий листснимок экрана, показывающий, что все файлы CSV из выбранной папки импортированы на текущий лист 2

Совет: Если вы хотите разместить данные из 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 

снимок экрана импорта файлов CSV горизонтально на лист


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

Если вы хотите импортировать все 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. Нажмите кнопку Выполнить или клавишу F5, чтобы запустить код VBA, и в появившемся диалоговом окне выберите нужную папку. См. снимок экрана:

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

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


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

Если вы не знакомы с VBA, не переживайте — рекомендую вам удобный инструмент: Kutools для Excel. Благодаря его мощной функции Объединить вы сможете быстро объединить несколько файлов XML или CSV в одну книгу Excel или на один лист.

После установки Kutools для Excel выполните следующие действия:(Бесплатно скачать Kutools для Excel прямо сейчас!)

1. Активируйте Excel и нажмите KUTOOLS PLUS > Объединить. См. снимок экрана:
снимок экрана включения функции объединения Kutools for Excel

2. На шаге 1 диалогового окна «Объединить» выберите нужный вариант разделения. См. снимок экрана:
снимок экрана выбора необходимой операции в мастере объединения листов

3. Нажмите кнопку Далее, чтобы перейти к шагу 2 функции «Объединить». Затем нажмите кнопку Добавить, чтобы выбрать файлы из разных папок или все файлы из одной папки и добавить их в список Книга. Также укажите нужные листы в списке Лист в правой части окна. См. снимок экрана:
снимок экрана добавления файлов или папок и указания листов, которые необходимо объединить

4. Нажмите кнопку Далее, чтобы перейти к шагу Последняя ячейка функции «Объединить», где можно указать параметры объединения.
снимок экрана указания параметров объединения

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

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

Совет: С помощью функции «Объединить» вы также можете объединить несколько файлов CSV из разных папок или одной папки в одну книгу или на один лист.


Экспорт каждого листа в формат csv/текст/pdf в папку с помощью Kutools для Excel

Если вы хотите экспортировать каждый лист в формат CSV, текст или PDF в отдельную папку, функция Разделить книгу из Kutools для Excel поможет вам в этом.

После бесплатной загрузки и установкиKutools для Excel выполните следующие действия:

1. Откройте книгу, листы которой нужно экспортировать, и нажмите KUTOOLS PLUS > Книга > Разделить книгу. См. снимок экрана:

снимок экрана включения функции разделения книги

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

снимок экрана выбора имён листов для экспорта и указания формата сохранения

3. Нажмите кнопку Разделить и укажите папку для сохранения разделённых файлов в диалоговом окне «Выбор папки». См. снимок экрана:

снимок экрана выбора папки назначения для сохранения экспортированных файлов

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


Связанные статьи:


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек