如何在Excel中快速批量导入多个csv / text / xml文件?
在Excel中,您可能不得不将工作簿另存为csv文件,文本文件或xml文件,但是您是否曾经尝试将多个csv / text / xml文件从一个文件夹导入到工作簿或工作表中? 在本文中,我介绍了一些快速批量导入它们的方法。
使用VBA将文件夹中的多个文本文件导入到工作簿的每个工作表中
使用Kutools for Excel将多个xml / csv文件导入或合并到工作表或工作簿中
使用Kutools for Excel将每张工作表导出为csv / text / pdf到一个文件夹
使用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,并在弹出对话框中选择要从中导入文本文件的文件夹。 看截图:
4.然后点击 OK,并且所选文件夹中的每个文本文件都已导入到活动工作簿的一个工作表中。 看截图:


轻松地将多个工作表/工作簿合并为一个工作表或工作簿
|
在Excel中,将多个工作表或工作簿组合成一个工作表或工作簿可能很麻烦,但是使用 结合 在Kutools for Excel中,您可以将数十个工作表/工作簿合并到一个工作表或工作簿中,也可以通过单击几下将工作表合并为一个工作表。 点击查看全功能 30 天免费试用! |
![]() |
Kutools for Excel:拥有 300 多个方便的 Excel 插件,免费试用,无限制 30 天。 |
使用VBA将文件夹中的多个csv文件导入到一张工作表中
要将所有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文件的文件夹。 看截图:
4。 点击 OK,然后会弹出一个对话框,提醒您在导入之前是否清除了活动工作表的内容,请点击此处 有。 看截图:
点击后 有,所选文件夹中的所有csv文件都将导入到当前工作表中,并将数据从A列向右放置。 看截图:


提示: 如果要将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
使用VBA将文件夹中的多个xml文件导入到一张工作表中
如果要将所有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,然后在弹出对话框中选择一个文件夹,请参见屏幕截图:
4。 点击 OK,并将所选文件夹中的所有XML文件导入到活动工作表中。
使用Kutools for Excel将多个xml / csv文件导入或合并到工作表或工作簿中
如果您不熟悉VBA,请放心,在这里,我介绍一个方便的工具– Kutools for Excel 为了你。 凭借其强大 结合 实用程序,您可以将多个xml文件或csv文件快速组合到一个工作簿或一个Excel工作表中。
Kutools for Excel, 与超过 300 方便的功能,使您的工作更加轻松。 | ||
安装后 Kutools for Excel,请执行以下操作:(立即免费下载Kutools for Excel!)
1. Active Excel,然后单击 Kutools 加 > 结合。 查看截图:
2.然后 合并的第一步 对话框中,根据需要选择一个分离选项。 看截图:
3。 点击 下一页
去 合并的第2步,单击“ 加入 将各种文件夹中的文件或一个文件夹中的文件添加到 工作簿 列表,还可以指定要从中合并的图纸 工作表 右侧部分列表。 看截图:
4。 点击 下一页
到最后一步 结合,然后您可以指定合并选项。
5。 点击 结束通话,会弹出一个对话框,提醒您选择一个位置来保存新的合并结果。 看截图:
6。 点击 优惠。 所有添加的工作表都已合并为一个新的工作表。
提示: 结合,您也可以将多个 CSV文件 在一个工作表或工作簿中形成多个文件夹或一个文件夹。
将多个XML / CVS文件合并到一个工作表/工作簿中
使用Kutools for Excel将每张工作表导出为csv / text / pdf到一个文件夹
如果要将每张工作表作为csv / text / pdf文件导出到文件夹, Kutools for Excel“ 拆分工作簿 实用程序可以帮您一个忙。
后 免费安装 Kutools for Excel,请执行以下操作:
1.启用要导出其工作表的工作簿,然后单击 Kutools 加 > 工作簿 > 拆分工作簿。 看截图:
2。 在里面 拆分工作簿 对话框中,您可以检查您需要导出的工作表名称,默认情况下,所有工作表均已选中,然后检查 指定保存格式 然后从下拉列表中选择要另存为的文件格式。 看截图:
3。 点击 分裂 然后选择一个文件夹将拆分文件保存在 浏览文件夹 对话框,请参见屏幕截图:
4。 点击 OK,现在所有选中的工作表都将作为新文件格式导出到所选文件夹中。
将每个工作表导出为单个XML / CSV / TXT / PDF文件
相关文章:
最佳办公效率工具
Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%
- 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
- 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
- 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
- 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
- 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
- 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
- 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
- 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
- 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!


































