Přejít k hlavnímu obsahu

Jak rychle hromadně importovat více souborů CSV / Text / XML v aplikaci Excel?

V aplikaci Excel jste možná svázali uložení sešitu jako soubor CSV, textový soubor nebo soubor XML, ale zkusili jste někdy importovat více souborů CSV / text / XML ze složky do sešitu nebo listu? V tomto článku představuji některé metody, jak je rychle hromadně importovat.

Importujte více textových souborů ze složky do každého listu sešitu pomocí VBA

Importujte více souborů CSV ze složky do jednoho listu pomocí VBA

Importujte více souborů XML ze složky do jednoho listu pomocí VBA

Importujte nebo kombinujte více souborů XML / CSV do listu nebo sešitu pomocí Kutools pro Excel dobrý nápad3

Exportujte každý list jako csv / text / pdf do složky pomocí Kutools pro Exceldobrý nápad3


Chcete-li importovat textové soubory ze složky do sešitu, můžete jej rychle zpracovat pomocí VBA níže.

1. Povolte prázdný sešit a stiskněte Alt + F11 klíče k otevření Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modula vložte VBA do Modul okno.

VBA: Importujte všechny textové soubory ze složky do sešitu

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. lis F5 nebo Běh tlačítko pro spuštění VBA a v rozbalovacím dialogovém okně vyberte složku, ze které chcete importovat textové soubory. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 1

4. A klikněte OKa každý textový soubor ve vybrané složce byl importován do jednoho listu aktivního sešitu. Viz snímek obrazovky:

import dokumentů více textů ve formátu CSV XML 2import dokumentů více textů ve formátu CSV XML 3

Snadno kombinujte více listů / sešit do jednoho listu nebo sešitu

Kombinovat vícenásobné listy nebo sešity do jednoho listu nebo sešitu může být v aplikaci Excel náročné, ale s Kombinovat funkce v Kutools pro Excel, můžete kombinovat desítky listů / sešitů do jednoho listu nebo sešitu, také můžete sloučit listy do jednoho pouze několika kliknutími.  Kliknutím získáte 30denní bezplatnou zkušební verzi s plnou výbavou!
kombinovat listy
 
Kutools pro Excel: s více než 300 praktickými doplňky Excel, můžete vyzkoušet bez omezení za 30 dní.

Chcete-li importovat všechny soubory CSV ze složky do jednoho listu, můžete použít níže uvedený kód VBA.

1. Povolte prázdný list a stiskněte Alt + F11 klíče k otevření Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modula vložit pod VBA do nového Modul okno.

VBA: Importujte soubory CSV ze složky do jednoho listu

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. lis F5 klíč nebo klik Běh tlačítko pro spuštění VBA a objeví se dialogové okno pro výběr složky, ze které chcete importovat všechny soubory CSV. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 4

4. cvaknutí OK, a objeví se dialogové okno, které vám připomene, pokud před importem vyčistíte obsah aktivního listu, zde kliknu Ano. Viz snímek obrazovky:

import dokumentů více textů ve formátu CSV XML 5

po kliknutí Ano, všechny soubory CSV ve vybrané složce se importují do aktuálního listu a umístí data ze sloupce A doprava. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 6import dokumentů více textů ve formátu CSV XML 7

Tip: Chcete-li soubory CSV umístit vodorovně do listu, můžete použít níže uvedený 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 

import dokumentů více textů ve formátu CSV XML 8


Pokud chcete importovat všechny soubory XML ze složky do jednoho listu, můžete použít níže uvedený kód VBA.

1. Vyberte prázdný list, do kterého chcete umístit importovaná data, a stiskněte Alt + F11 klíče k povolení Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modul, vložte kód VBA do Modul okno.

VBA: Importujte soubory XML ze složky do listu.

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. cvaknutí Běh nebo F5 klíč ke spuštění VBA a v rozbalovacím dialogovém okně vyberte složku, viz screenshot:

import dokumentů více textů ve formátu CSV XML 9

4. cvaknutí OKa všechny soubory XML ve vybrané složce se importují do aktivního listu.


Pokud nejste obeznámeni s VBA, dělejte si starosti, zde představuji užitečný nástroj - Kutools pro Excel pro tebe. S jeho silným Kombinovat nástroj, můžete rychle kombinovat více souborů XML nebo CSV do jednoho sešitu nebo jednoho listu aplikace Excel.

Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. 

Po instalaci Kutools pro Excel, prosím, postupujte takto:(Zdarma ke stažení Kutools pro Excel nyní!)

1. Aktivní Excel a klepněte na Kutools Plus > Kombinovat. Viz screenshot :
doc kombinovat 1

2. A v krok 1 kombinace dialogové okno, vyberte jednu možnost oddělení, jak potřebujete Viz snímek obrazovky:
doc kombinovat 2

3. cvaknutí další jít do krok 2 kombinace, Klepněte na tlačítko přidat přidat soubory z různých složek nebo soubory z jedné složky do Cvičebnice seznamu a také můžete určit listy, ze kterých chcete kombinovat Pracovní list seznam pravé části. Viz screenshot:
doc kutools kombinovat listy 3

4. cvaknutí další do posledního kroku Kombinovata můžete určit možnosti kombajnu.
doc kutools kombinovat listy 4

5. cvaknutí úprava, objeví se dialogové okno, které vám připomene, abyste vybrali místo pro uložení nového kombinovaného výsledku. Viz snímek obrazovky:
doc kombinovat 5

6. cvaknutí Uložit. Všechny přidané listy byly sloučeny do nového jediného listu.
doc kombinovat 6

Tip: S Kombinovat, můžete také kombinovat více Soubory CSV vytvořit více složek nebo jednu složku do jednoho listu nebo sešitu.


Pokud chcete exportovat každý list jako soubor csv / text / pdf do složky, Kutools pro ExcelJe Rozdělit sešit nástroj vám může udělat laskavost.

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Povolte sešit, do kterého chcete exportovat jeho listy, a klikněte na Kutools Plus > Cvičebnice > Rozdělit sešit. Viz snímek obrazovky:

import dokumentů více textů ve formátu CSV XML 10

2. V Rozdělit sešit V dialogovém okně můžete zkontrolovat názvy listů, které potřebujete exportovat, ve výchozím nastavení jsou všechny listy zaškrtnuty a zkontrolovat Určete formát uložení a z níže uvedeného rozevíracího seznamu vyberte formát souboru, který chcete uložit. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 11

3. cvaknutí Rozdělit a vyberte složku, do které chcete rozdělené soubory uložit do souboru Vyhledejte složku dialog, viz screenshot:

import dokumentů více textů ve formátu CSV XML 12

4. cvaknutí OK, nyní jsou všechny zaškrtnuté listy exportovány jako nový formát souboru do vybrané složky.


Relativní články:

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (36)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bagaimana caranya menghilangkan header dari tiap-tiap file csv yang terbuka dalam worksheetnya
terima kasih
This comment was minimized by the moderator on the site
Hi there,this is a great tool, but I want to import the various XMl-Files into separate TAB-sheets. Is this possible as the XML's have different header ?
This comment was minimized by the moderator on the site
HelloThe instructions for importing multiple xmls into one tab of an excel document works but was wondering how to get it to line up the columns. My xmls don't all have the same tags. They are set up such that if the xml had no data for some headers(tags) then the header is missing from that xml. Is there a way to get the xmls to import so the same headers from each xml and associated data fall into the same column of excel?
This comment was minimized by the moderator on the site
Hi Experts

I am using the above code for importing multiple xml files into 1 worksheet using VBA however issue i am facing is when rows count reaches 650000 in a worksheet then this code doesn't process rest of the xml files in the folder. It gives an error "no files.xml". Require your kind support
This comment was minimized by the moderator on the site
Hi Team

I am using the code for importing Multiple XML files into single sheet with VBA however issue i am facing is when rows count reaches approximately 650000, then it doesn't processes rest of the xml files in the folder and gives an error that no xml files. Need your support to increase this count.
This comment was minimized by the moderator on the site
Hi, is there any way to import multiple csv files with semicolon as separator? Thank you!
PS Nice article!
This comment was minimized by the moderator on the site
Hello - I've used your VBA codes to extract data from multiple CSV files to excel file (the code on this page) and convert csv files to excel files ( this one: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), with great results. They helped me save a lot of time.

However, I notice a common problem with both of these types of codes. To clarify, my system is set up to use the European standards for dates, while some of the CSV files I received for my work contain dates in US standards. The first problem is, when I extract or convert data from a CSV file that contains dates in US format, all of those dates are reversed (matching the EU standards used by my system). This is great but it also caused me troubles since I didn't know the codes would reverse the dates for me, so I went on ahead and did the same thing again. The second problem is, for the CSV files that contain dates already in the same format as the one used by my system (EU standards), only the ambiguous dates are reversed (i.e 04/05/2019 - 05/04/2019), while the ones that are too obvious, remain unchanged (i.e 30/04/2019).

What I would like the codes to do, is the exact same thing as they are shown here, only that they should copy and paste the data (especially dates) in the exact formats used in the original files. This would help prevent any possible confusions and mistakes. I would like to learn VBA so I can one day write my own codes, but for now, I'm not even able to modify parts of the existing codes to suit my needs. So if you can help, please tell me where I should put the modified codes (that you come up with) to the existing codes. I appreciate all feedback & support I can get. Thank you all!
This comment was minimized by the moderator on the site
Hi Marshall, in the Workbooks.Open method, add in the option Local:=True.

i.e.
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
This comment was minimized by the moderator on the site
Hi Robert,
It's me again. It took me a while to actually have the time to figure out which part of the code the "Local:True" part should be added to. The result turned out great as the dates are no longer reversed. Thank you!
For anyone having the same problem, just change this line:
Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

To this:
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
This comment was minimized by the moderator on the site
Thank you very much Robert. Sorry I couldn't reply to you any earlier. I didn't get any notification until now. I will try this out and come back to you later to let you know if this works.
This comment was minimized by the moderator on the site
Hi - I'm using the import all csv files into one file listed above "Import Multiple Csv Files From A Folder Into A Single Sheet With VBA"- i'd like to define the folder it collects the data from without having to manually choose it. Can this be done? thanks - SW.
This comment was minimized by the moderator on the site
Hi, Scott W, I found a VBA code may can help you.
Option Explicit

Sub ImportCSVsWithReference()
'Author: Jerry Beaucaire
'Date: 10/16/2010
'Summary: Import all CSV files from a folder into a single sheet
' adding a field in column A listing the CSV filenames

Dim wbCSV As Workbook
Dim wsMstr As Worksheet: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'path to CSV files, include the final \
Dim fCSV As String

If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Clear?") _
= vbYes Then wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'speed up macro

fCSV = Dir(fPath & "*.csv") 'start the CSV file listing

Do While Len(fCSV) > 0
'open a CSV file
Set wbCSV = Workbooks.Open(fPath & fCSV)
'insert col A and add CSV name
Columns(1).Insert xlShiftToRight
Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'copy date into master sheet and close source file
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Close False
'ready next CSV
fCSV = Dir
Loop

Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
How to eliminate duplicate header and CSV file name column. Please do help....I have gone through several articles, but unfortunately all give same result.
This comment was minimized by the moderator on the site
Thank you. This site has been a big help. I have one issue I cannot figure out. I am trying to import multiple csv files into an excel separate sheets in excel and have each sheet renamed after the file name of the csv file. I know this was covered below for a txt file but I am working with csv files. Thanks in advance.
This comment was minimized by the moderator on the site
Hi! I used the code to merge multiple XML files into one, but unfortunately the columns got messed up. The 5 files being merged all had the same format. Is there anyway to fix this? I also was wondering if there was a way to get rid of the headers that are duplicated when the files are merged. Thank you!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations