Note: The other languages of the website are Google-translated. Back to English

如何在Excel中快速批量导入多个csv / text / xml文件?

在Excel中,您可能不得不将工作簿另存为csv文件,文本文件或xml文件,但是您是否曾经尝试将多个csv / text / xml文件从一个文件夹导入到工作簿或工作表中? 在本文中,我介绍了一些快速批量导入它们的方法。

使用VBA将文件夹中的多个文本文件导入到工作簿的每个工作表中

使用VBA将文件夹中的多个csv文件导入到一张工作表中

使用VBA将文件夹中的多个xml文件导入到一张工作表中

使用Kutools for Excel将多个xml / csv文件导入或合并到工作表或工作簿中 好主意3

使用Kutools for Excel将每张工作表导出为csv / text / pdf到一个文件夹好主意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 键或 运行 按钮以运行VBA,并在弹出对话框中选择要从中导入文本文件的文件夹。 看截图:

doc导入多个csv文本xml 1

4.然后点击 OK,并且所选文件夹中的每个文本文件都已导入到活动工作簿的一个工作表中。 看截图:

doc导入多个csv文本xml 2doc导入多个csv文本xml 3

轻松地将多个工作表/工作簿合并为一个工作表或工作簿

在Excel中,将多个工作表或工作簿组合成一个工作表或工作簿可能很麻烦,但是使用 结合 在Kutools for Excel中,您可以将数十个工作表/工作簿合并到一个工作表或工作簿中,也可以通过单击几下将工作表合并为一个工作表。  点击查看全功能 30 天免费试用!
合并表
 
Kutools for Excel:拥有 300 多个方便的 Excel 插件,免费试用,无限制 30 天。

要将所有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文件的文件夹。 看截图:

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。 点击 运行 按钮或 F5 键运行VBA,然后在弹出对话框中选择一个文件夹,请参见屏幕截图:

doc导入多个csv文本xml 9

4。 点击 OK,并将所选文件夹中的所有XML文件导入到活动工作表中。


如果您不熟悉VBA,请放心,在这里,我介绍一个方便的工具– Kutools for Excel 为了你。 凭借其强大 结合 实用程序,您可以将多个xml文件或csv文件快速组合到一个工作簿或一个Excel工作表中。

Kutools for Excel, 与超过 300 方便的功能,使您的工作更加轻松。 

安装后 Kutools for Excel,请执行以下操作:(立即免费下载Kutools for Excel!)

1. Active Excel,然后单击 Kutools 加 > 结合。 查看截图:
doc合并1

2.然后 合并的第一步 对话框中,根据需要选择一个分离选项。 看截图:
doc合并2

3。 点击 下一页 合并的第2步,单击“ 加入 将各种文件夹中的文件或一个文件夹中的文件添加到 工作簿 列表,还可以指定要从中合并的图纸 工作表 右侧部分列表。 看截图:
doc kutools结合床单3

4。 点击 下一页 到最后一步 结合,然后您可以指定合并选项。
doc kutools结合床单4

5。 点击 结束通话,会弹出一个对话框,提醒您选择一个位置来保存新的合并结果。 看截图:
doc合并5

6。 点击 优惠。 所有添加的工作表都已合并为一个新的工作表。
doc合并6

提示: 结合,您也可以将多个 CSV文件 在一个工作表或工作簿中形成多个文件夹或一个文件夹。


如果要将每张工作表作为csv / text / pdf文件导出到文件夹, Kutools for Excel拆分工作簿 实用程序可以帮您一个忙。

免费安装 Kutools for Excel,请执行以下操作:

1.启用要导出其工作表的工作簿,然后单击 Kutools 加 > 工作簿 > 拆分工作簿。 看截图:

doc导入多个csv文本xml 10

2。 在里面 拆分工作簿 对话框中,您可以检查您需要导出的工作表名称,默认情况下,所有工作表均已选中,然后检查 指定保存格式 然后从下拉列表中选择要另存为的文件格式。 看截图:

doc导入多个csv文本xml 11

3。 点击 分裂 然后选择一个文件夹将拆分文件保存在 浏览文件夹 对话框,请参见屏幕截图:

doc导入多个csv文本xml 12

4。 点击 OK,现在所有选中的工作表都将作为新文件格式导出到所选文件夹中。


相关文章:


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (36)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
您好,非常感谢您提供这些代码示例! 第一个(VBA:将文件夹中的所有文本文件导入工作簿)几乎正是我所需要的。 但是,我想选择要导入的文件,而不是自动导入任何给定文件夹中的所有文本文件。 我还希望目标工作表的现有内容被文本文件的内容覆盖。 (使用上面的代码,现有内容被向右移动而不是被替换。)我该怎么做? 提前致谢!
该评论由网站上的主持人最小化
嗨,我想了解“使用 VBA 将文件夹中的多个 Xml 文件导入单个工作表”的 VBA 代码。 1. 为什么需要 2 个工作簿而不是 1 个? 2. 将很多xml文件加载到excel中需要一些时间,那么有没有更高效的代码? 因为我意识到当您的代码运行时,会创建许多 VBA 工作簿,这会导致速度变慢。 如果您能帮助我理解,我将不胜感激!
该评论由网站上的主持人最小化
对不起,我没看懂你的第一个问题,关于第二个,更有效的代码,我没有找到它,如果你知道,请给我留言,谢谢。
该评论由网站上的主持人最小化
嗨,我想通过下一个可用行(非水平行)了解“将多个 .txt 文件从文件夹导入到带有 VBA 的单个工作表”的 VBA 代码。 请帮忙,急
该评论由网站上的主持人最小化
您好,如果您想将一个文件夹中的所有 txt 文件导入到单个工作表中,您可以先使用上述 vba 代码将 txt 文件导入工作簿,然后应用 Kutools for Excel 的合并工作表功能将工作簿的所有工作表合并到一张纸,然后是一张纸中的txt文件。 希望它可以帮助你。
该评论由网站上的主持人最小化
问题在于 VBA 命令和 Kutools 都允许导入具有字符代码格式的 csv 文件。 预载是西方的。 我需要将所有 csv 文件导入为 unicode-8
该评论由网站上的主持人最小化
从 txt 文件转换的代码对我不起作用。
该评论由网站上的主持人最小化
对不起,这篇文章不适合你。 你能描述你的问题吗? 运行代码时会发生什么? 你工作的系统是什么?
该评论由网站上的主持人最小化
你好! 代码“将文件夹中的 csv 文件导入到一个工作表中”对我有用! 但是此代码不适用于空的 .txt 文件。 有什么方法可以保留空文件吗?
该评论由网站上的主持人最小化
不好意思,不知道为什么要导入一个空的txt.file~就插入空行来分隔内容。
该评论由网站上的主持人最小化
Mike:“从 txt 文件转换的代码对我不起作用。”

我遇到了同样的问题。如果您要打开的 txt 文件多于工作簿中的工作表(默认为 3),则会出现宏错误。
我通过在循环退出之前添加以下内容来修复它,以便宏在其余部分之后创建一个新工作表
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
该评论由网站上的主持人最小化
乍得,这对我导入多个文本文件非常有用。 谢谢你。

你知道是否有办法提取文件名吗? 我希望将文本文件名复制到每个 Excel 工作表选项卡中。
该评论由网站上的主持人最小化
完全令人惊叹! 尝试在一个工​​作表中打开所有 csv 文件,效果很好。 非常感谢,真的!
该评论由网站上的主持人最小化
您好,我尝试运行 .xml 的代码,但它似乎没有工作,因为我收到消息“没有文件 xml”。 如何解决这个问题?
该评论由网站上的主持人最小化
当您选择的文件夹不包含 xml 文件时,它将弹出一条消息“无文件 xml”。 运行代码以将它们导入到活动工作表后,您可以在弹出对话框中选择包含 xml 文件的正确文件夹。
该评论由网站上的主持人最小化
有效! 谢谢
该评论由网站上的主持人最小化
你好,saya mau tanya kalo impor txt file ke satu sheet gimana ya?
该评论由网站上的主持人最小化
您好,rendy,您要将所有 txt 导入一张纸还是将每个 txt 导入每张纸?
该评论由网站上的主持人最小化
我有代码将 txt 导入到工作表每个 txt 到每个工作表,但我希望每个 txt 都以其名称导入工作表,我的意思是用附加代码文件的 txt 的名称重命名每个导入的工作表.. 我想编辑这个文件以添加用于重命名具有 txts 名称的工作表的代码...谢谢。
该评论由网站上的主持人最小化
我有代码将 txt 导入工作表每个 txt 到每个工作表,但我希望每个 txt 都以其名称导入工作表,我的意思是用附加代码文件的 txt 名称重命名每个导入的工作表.. 谢谢
该评论由网站上的主持人最小化
您好,Ramy,zahran,您可以尝试以下代码,该代码可以导入文本文件并将工作表名称重命名为文本文件名。
子 LoadPipeDelimitedFiles()
'更新通过Extendoffice20180925
将 xStrPath 调暗为字符串
将 xFileDialog 调暗为 FileDialog
将 xFile 调暗为字符串
调暗 xCount 一样长
将 xWS 调暗为工作表

出错时转到 ErrHandler
设置 xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = 假
xFileDialog.title = "选择一个文件夹 [Kutools for Excel]"
如果 xFileDialog.Show = -1 那么
xStrPath = xFileDialog.SelectedItems(1)
结束如果
如果 xStrPath = "" 则退出 Sub
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
执行 xFile <> ""
xCount = xCount + 1
设置 xWS = Sheets(xCount)
xWS.选择
xWS.Name = "TEXT" & Left(xFile, Len(xFile) - 4)
使用 ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, 目的地:=Range("A1"))
.Name = "a" & xCount
.FieldNames = 真
.RowNumbers = 假
.FillAdjacentFormulas = 假
.PreserveFormatting = True
.RefreshOnFileOpen = 假
.RefreshStyle = xlInsertDeleteCells
.SavePassword = 假
.SaveData = 真
.AdjustColumnWidth = 真
.RefreshPeriod = 0
.TextFilePromptOnRefresh = 假
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = 假
.TextFileTabDelimiter = 假
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = 假
.TextFileSpaceDelimiter = 假
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = 数组(1, 1, 1)
.TextFileTrailingMinusNumbers = 真
.刷新背景查询:=假
xFile = 目录
结束
循环
Application.ScreenUpdating =真
退出小组
错误处理程序:
MsgBox "没有文件 txt", , "Kutools for Excel"
END SUB
该评论由网站上的主持人最小化
你好! 我使用代码将多个 XML 文件合并为一个,但不幸的是,这些列搞砸了。 被合并的 5 个文件都具有相同的格式。 有没有什么办法解决这一问题? 我还想知道是否有办法摆脱文件合并时重复的标题。 谢谢!
该评论由网站上的主持人最小化
谢谢你。 这个网站帮了大忙。 我有一个我无法弄清楚的问题。 我正在尝试将多个 csv 文件导入 excel 中的单独工作表,并在 csv 文件的文件名之后重命名每个工作表。 我知道下面介绍了一个 txt 文件,但我正在使用 csv 文件。 提前致谢。
该评论由网站上的主持人最小化
嗨 - 我正在使用将所有 csv 文件导入上面列出的一个文件“使用 VBA 将多个 Csv 文件从文件夹导入单个工作表” - 我想定义它收集数据的文件夹,而无需手动选择它。 这可以做到吗? 谢谢-西南。
该评论由网站上的主持人最小化
嗨,Scott W,我发现一个 VBA 代码可以帮助你。
选项显式

子 ImportCSVsWithReference()
'作者:杰里·博凯尔
'日期:10 年 16 月 2010 日
'摘要:将文件夹中的所有 CSV 文件导入到单个工作表中
' 在列 A 中添加一个字段,列出 CSV 文件名

将 wbCSV 调暗为工作簿
将 wsMstr 调暗为工作表:设置 wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" ' CSV 文件的路径,包括最后的 \
将 fCSV 调暗为字符串

if MsgBox("导入前清除现有工作表?", vbYesNo, "清除?") _
= vbYes 然后 wsMstr.UsedRange.Clear

Application.ScreenUpdating = False '加速宏

fCSV = Dir(fPath & "*.csv") '开始 CSV 文件列表

在 Len(fCSV) > 0 时执行
'打开一个 CSV 文件
设置 wbCSV = Workbooks.Open(fPath & fCSV)
'插入 col A 并添加 CSV 名称
列(1).插入 xlShiftToRight
列 (1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'复制日期到主表并关闭源文件
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.关闭 False
'准备下一个 CSV
fCSV = 目录
循环

Application.ScreenUpdating =真
END SUB
该评论由网站上的主持人最小化
如何消除重复的标题和 CSV 文件名列。 请帮忙....我已经阅读了几篇文章,但不幸的是所有文章都给出了相同的结果。
该评论由网站上的主持人最小化
您好 - 我已经使用您的 VBA 代码从多个 CSV 文件中提取数据到 excel 文件(此页面上的代码)并将 csv 文件转换为 excel 文件(这个: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html),效果很好。 他们帮我节省了很多时间。

但是,我注意到这两种代码都有一个共同的问题。 澄清一下,我的系统设置为使用欧洲标准的日期,而我收到的一些 CSV 文件包含美国标准的日期。 第一个问题是,当我从包含美国格式日期的 CSV 文件中提取或转换数据时,所有这些日期都被反转(与我的系统使用的欧盟标准相匹配)。 这很好,但也给我带来了麻烦,因为我不知道代码会为我颠倒日期,所以我继续做同样的事情。 第二个问题是,对于已经包含与我的系统(欧盟标准)使用的日期格式相同的日期的 CSV 文件,只有不明确的日期被反​​转(即 04/05/2019 - 05/04/2019),而那些太明显的则保持不变(即 30/04/2019)。

我希望代码执行的操作与此处显示的完全相同,只是它们应以原始文件中使用的确切格式复制和粘贴数据(尤其是日期)。 这将有助于防止任何可能的混淆和错误。 我想学习 VBA,以便有一天我可以编写自己的代码,但现在,我什至无法修改现有代码的一部分以满足我的需要。 因此,如果您可以提供帮助,请告诉我应该将修改后的代码(您想出的)放在现有代码的哪个位置。 我感谢我能得到的所有反馈和支持。 谢谢你们!
该评论由网站上的主持人最小化
嗨 Marshall,在 Workbooks.Open 方法中,添加选项 Local:=True。


设置 xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
该评论由网站上的主持人最小化
非常感谢罗伯特。 对不起,我不能更早地回复你。 直到现在我都没有收到任何通知。 我会试试这个,稍后再回复你,让你知道这是否有效。
该评论由网站上的主持人最小化
罗伯特,
又是我。 我花了一段时间才真正有时间弄清楚应该将“Local:True”部分添加到代码的哪一部分。 结果很好,因为日期不再颠倒。 谢谢!
对于任何有同样问题的人,只需更改此行:
设置 xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

为此:
设置 xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
该评论由网站上的主持人最小化
嗨,有什么方法可以导入多个以分号作为分隔符的 csv 文件? 谢谢!
PS 好文章!
该评论由网站上的主持人最小化
嗨团队

我正在使用代码通过 VBA 将多个 XML 文件导入单个工作表但是我面临的问题是当行数达到大约 650000 时,它不会处理文件夹中的其余 xml 文件并给出没有 xml 文件的错误. 需要您的支持以增加此数量。
该评论由网站上的主持人最小化
嗨专家

我正在使用上述代码使用 VBA 将多个 xml 文件导入到 1 个工作表中,但是我面临的问题是当工作表中的行数达到 650000 时,此代码不会处理文件夹中的其余 xml 文件。 它给出了一个错误“no files.xml”。 需要您的善意支持
该评论由网站上的主持人最小化
您好将多个 xmls 导入 excel 文档的一个选项卡的说明有效,但想知道如何让它排列列。 我的 xmls 并不都有相同的标签。 它们的设置使得如果 xml 没有某些标头(标签)的数据,则该 xml 中缺少标头。 有没有办法让 xmls 导入,以便每个 xml 和相关数据的相同标题落入 excel 的同一列?
这里还没有评论
加载更多
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护