利用EXCEL代码批量将XLSX格式文件转为CSV格式

1、实验目的:CSV文件因为是纯文本格式,所以在不同的电子设备和操作系统上都能够被读取和编辑。而XLSX文件则因为使用XML标准进行数据存储,在不同的电子设备和操作系统上可能会出现兼容性问题,例如,某些Windows电脑上会出现编辑器无法识别特定格式的问题(CSV和XLSX文件格式的区别_csv和xlsx的区别_qq_44591229的博客-CSDN博客)。此外,在R语言的导入数据过程中对于xlsx文件的读取比CSV格式复杂得多,需要install和Library相应的packages,而读取CSV格式数据则只需要键入“read.csv()”即可,因此直接批量转为CSV也是一种不错的选择。

2、软件:Microsoft Office EXCEL 2019

3、操作系统:Windows 10

4、操作步骤:

第一步:将多个XLSX格式的文件放于同一文件夹下

第二步:新建一个空白文件夹存放转换格式后的文件

第三步:打开一个空白excel文档,准备输入批量代码

打开后

 

代码内容:

Sub SaveToCSVs()

    Dim fDir As String

    Dim wB As Workbook

    Dim wS As Worksheet

    Dim fPath As String

    Dim sPath As String

    fPath = "D:\April\"

    sPath = "D:\April\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)其中的fpath和spath必须以“\”结尾

            (2)运行代码后空白文档会进行闪烁,这取决于待转换的文件个数。

第三步:整理文件

输出后的文件格式为:文件名.xlsx.csv

 

我们习惯将文件名批量修改为:文件名.csv

批量修改文件名的代码如下:

@echo off& setlocal enabledelayedexpansion

for /f "delims=" %%1 in ('dir /a /b') do (set wind=%%1

ren "%%~1" "!wind:.xlsx=!")

注意:需要把代码写在“.txt”的文本文档中后,把后缀改为“.bat”,双击运行此bat文件即可。

结果:

 

 

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值