工具/原料



 



  • excel 2013
  • 地址链接:http://pan.baidu.com/s/1c1ZABlu 密码:d3rc



方法/步骤



 



  1.  
    首选我们把需要导出为CVS的Excel文件整理集中到一个文件夹中。然后新建一个文件夹用来保存CSV文件的。支持Xlsx、xls格式。

    esayexcel 导出csv文件 excel导出为csv文件_esayexcel 导出csv文件


  2.  
    新建一个EXCEL表格,打开后,点击菜单栏上的“开发工具”;功能区下点击打开Visual Basic。

    esayexcel 导出csv文件 excel导出为csv文件_CSV_02


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

    esayexcel 导出csv文件 excel导出为csv文件_菜单栏_03


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

    esayexcel 导出csv文件 excel导出为csv文件_CSV_04


  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


  1. esayexcel 导出csv文件 excel导出为csv文件_开发工具_05

  2.  
    代码中的fPath = "C:\Users\qiany\Desktop\文件\"  -定义为需要转换成CSV的Excel源文件。
    sPath = "C:\Users\qiany\Desktop\csv保存位置\" -定义为转换后的CSV文件保存位置。
    这两个位置需要自己按实际修改。特别注意:路径需要以\结尾。
  3.  
    写好代码后开始运行。点击菜单栏上的运行,选择运行子过程/用户窗体。

    esayexcel 导出csv文件 excel导出为csv文件_菜单栏_06


  4.  
    弹出一个对话框,点击运行。

    esayexcel 导出csv文件 excel导出为csv文件_菜单栏_07


  5.  
    接下来就开始进入转换过程,在这过程中会多个EXCEL窗体自动显示再自动关闭,取决于多少个Excel文件。
    完成后我们打开刚才设定的保存文件夹,就可以看到转换后的CSV文件。

    esayexcel 导出csv文件 excel导出为csv文件_开发工具_08


  6.  
    在步骤9的图片中CSV的文件明显多于刚才步骤1中的文件,为什么会这样呢?
    因为原来的Excel的单个工作簿中有多个工作表,所以才会出现这么多的CSV文件。
    简单的说,就是所有工作簿中的每个工作表都保存为一个CSV文件。

    esayexcel 导出csv文件 excel导出为csv文件_菜单栏_09


    END



注意事项



 



  • fPath = "源文件位置\"
  • sPath = "csv保存位置\"
  • 路径后面都要以\结尾,切记!