excel批量转换为CSV格式

excel批量转换为CSV格式

源地址:https://jingyan.baidu.com/article/380abd0a032e681d91192c74.html
本文用于保存原作者经验,用于学习使用,感谢原作者,侵删。

  1. 首先我们把需要导出为CVS的Excel文件整理集中到一个文件夹中。然后新建一个文件夹用来保存CSV文件的。支持Xlsx、xls格式。在这里插入图片描述

  2. 新建一个EXCEL表格,打开后,点击菜单栏上的“开发工具”;功能区下点击打开Visual Basic。在这里插入图片描述

  3. 如果菜单栏上没有开发工具,则在选项中添加。点击文件,弹出菜单选择选项。在EXCEL选项中,点击自定义功能区,右边勾选开发工具,然后点击确定。这样开发工具就会显示在菜单栏上。在这里插入图片描述

  4. 在左侧工程资源管理器中双击Sheet1 (Sheet1)打开代码窗口。工程资源管理器如果没有显示,则按ctrl+R就可以显示了。在这里插入图片描述

  5. 在代码窗口中输入下面代码,其中有两行(图片红框位置)需要自己修改为实际文件来源路径和保存路径。就是开头说到的那两个文件夹位置。后面再解释。
    Sub SaveToCSVs()

    Dim fDir As String

    Dim wB As Workbook

    Dim wS As Worksheet

    Dim fPath As String

    Dim sPath As String

    fPath = “C:\Users\qiany\Desktop\文件”

    sPath = “C:\Users\qiany\Desktop\csv保存位置”

    fDir = Dir(fPath)

    Do While (fDir <> “”)

     If Right(fDir, 4) = ".xls" Or Right(fDir, 5) = ".xlsx" Then
    
         On Error Resume Next
    
         Set wB = Workbooks.Open(fPath & fDir)
    
         'MsgBox (wB.Name)
    
         For Each wS In wB.Sheets
    
             wS.SaveAs sPath & wB.Name & ".csv", xlCSV
    
         Next wS
    
         wB.Close False
    
         Set wB = Nothing
    
     End If
    
     fDir = Dir
    
     On Error GoTo 0
    

    Loop

End Sub
在这里插入图片描述
6.代码中的fPath = “C:\Users\qiany\Desktop\文件” -定义为需要转换成CSV的Excel源文件。

sPath = “C:\Users\qiany\Desktop\csv保存位置” -定义为转换后的CSV文件保存位置。

这两个位置需要自己按实际修改。特别注意:路径需要以\结尾。
7.写好代码后开始运行。点击菜单栏上的运行,选择运行子过程/用户窗体。在这里插入图片描述
8.弹出一个对话框,点击运行。在这里插入图片描述
9.接下来就开始进入转换过程,在这过程中会多个EXCEL窗体自动显示再自动关闭,取决于多少个Excel文件。

完成后我们打开刚才设定的保存文件夹,就可以看到转换后的CSV文件。在这里插入图片描述
10.在步骤9的图片中CSV的文件明显多于刚才步骤1中的文件,为什么会这样呢?

因为原来的Excel的单个工作簿中有多个工作表,所以才会出现这么多的CSV文件。

简单的说,就是所有工作簿中的每个工作表都保存为一个CSV文件。在这里插入图片描述
注意事项
fPath = “源文件位置”
sPath = “csv保存位置”
路径后面都要以\结尾,切记!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值