KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中快速批次匯入多個 CSV、文字或 XML 檔案?

作者修改日期

在 Excel 中,您或許曾將活頁簿儲存為 CSV 檔案、純文字檔或 XML 檔案,但是否試過將資料夾中的多個 CSV/文字/XML 檔案批次匯入至單一活頁簿或工作表?本文將介紹幾種實用方法,助您快速完成這項任務。


使用 VBA 將資料夾中的多個純文本匯入至活頁簿的各個工作表

若要將資料夾中的純文字檔快速匯入活頁簿,您可以使用以下 VBA 程式碼。

1. 開啟一個空白活頁簿,並按下 Alt + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗!

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. 按一下確定後,所選資料夾中的每個純文字檔都會匯入至目前工作簿的個別工作表中。請參閱螢幕截圖:

顯示已將所選資料夾中的每個文字檔匯入至目前活頁簿不同工作表的螢幕截圖顯示已將所選資料夾中的每個文字檔匯入至目前活頁簿不同工作表的螢幕截圖 2
kutools for excel ai 的螢幕截圖

透過 KUTOOLS AI 解鎖 Excel 的神奇功能

  • 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
  • 自訂公式:打造專屬公式,讓您的工作流程更順暢!
  • VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
  • 公式解析:輕鬆掌握複雜公式!
  • 文字翻譯:輕鬆打破試算表中的語言隔閡!
運用 AI 驅動的工具強化您的 Excel 能力。立即下載體驗前所未有的高效!

使用 VBA 將資料夾中的多個 csv 檔案匯入至單一工作表

若要將資料夾內所有 CSV 檔案匯入至同一張工作表,請使用以下 VBA 程式碼。

1. 開啟一個空白工作表,並按下 Alt + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗!

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. 按一下確定後,系統會彈出對話方塊,詢問您是否要在匯入前清除作用中工作表的內容;此處我按一下。請參閱螢幕截圖:

提示方塊的螢幕截圖,提醒您是否要在匯入 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 檔案的螢幕截圖


使用 VBA 將資料夾中的多個 xml 檔案匯入至單一工作表

若您希望將資料夾內所有 XML 檔案匯入至同一張工作表,可使用下方的 VBA 程式碼。

1. 選取您要放置匯入資料的空白工作表,並按下 Alt + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

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. 按一下確定,即可將所選資料夾中的所有 XML 檔案匯入至目前工作表。


使用 Kutools for Excel 將多個 xml/csv 檔案匯入或合併至單一工作表或活頁簿

如果您不熟悉 VBA,不用擔心!這裡為您推薦一款超實用工具——Kutools for Excel。透過其強大的合併功能,輕鬆將多個 XML 或 CSV 檔案快速整合至單一活頁簿或 Excel 工作表中,省時又高效!

安裝 Kutools for Excel 後,請依照下列步驟操作:(立即免費下載 Kutools for Excel!)

1. 啟動 Excel,並點選 KUTOOLS PLUS > 合併。請參閱下方螢幕截圖:
Kutools for Excel 的「合併」功能啟用螢幕截圖

2. 在 「合併」的步驟 1 對話方塊中,依需求選擇一種分隔選項。請參閱下方螢幕截圖:
在「合併工作表」精靈中選取所需操作的螢幕截圖

3. 按一下下一步,進入 「合併」的步驟 2;再按一下新增,即可從不同資料夾或單一資料夾中加入檔案至活頁簿清單。您也可在右側區段的工作表清單中,指定要合併的工作表。請參閱螢幕截圖:
新增檔案或資料夾並指定要合併的工作表之螢幕截圖

4. 按一下下一步進入最後一個步驟的合併,並可指定合併選項。
指定合併選項的螢幕截圖

5. 按一下完成後,將彈出對話方塊,提醒您選擇儲存新合併結果的位置。請參閱螢幕截圖:
選取儲存新合併檔案位置的螢幕截圖

6. 按一下儲存,所有新增的工作表便會合併至一個全新的單一工作表中!
顯示所有新增工作表已合併為單一新工作表的螢幕截圖

提示:透過合併功能,您還能將多個資料夾或單一資料夾中的 CSV 檔案輕鬆整合至單一工作表或活頁簿中!


使用 Kutools for Excel 將每個工作表匯出為 csv/文字/pdf 至資料夾

若您想將每個工作表匯出為 CSV/文字/PDF 檔案至資料夾,Kutools for Excel分割工作簿功能可助您輕鬆達成!

免費下載並安裝 Kutools for Excel 後,請依照下列步驟操作:

1. 開啟您要匯出工作表的活頁簿,並點選 KUTOOLS PLUS > 活頁簿 > 分割工作簿。請參閱螢幕截圖:

啟用「分割活頁簿」功能的螢幕截圖

2. 在分割工作簿對話方塊中,您可以勾選欲匯出的工作表名稱(預設已全選),並勾選指定儲存格式,再從下方下拉清單中選擇所需的檔案類型。請參閱螢幕截圖:

勾選要匯出的工作表名稱並指定儲存格式的螢幕截圖

3. 按一下分割,並在瀏覽資料夾對話方塊中選擇儲存分割檔案的位置。請參閱螢幕截圖:

選取儲存匯出檔案的目的資料夾之螢幕截圖

4. 按一下確定,所有已勾選的工作表便會立即以新的檔案類型匯出至所選資料夾中!


相關文章:


最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用