具体代码如下:
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\LJJ\Desktop\扶贫数据\" '需要转换成CSV的Excel源文件目录
sPath = "C:\Users\LJJ\Desktop\csv保存目录\" '转换后的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
需要注意的是代码中的fPath = "C:\Users\LJJ\Desktop\扶贫数据\"为需要转换成CSV的Excel源文件目录,sPath = "C:\Users\LJJ\Desktop\csv保存目录\"为转换后的CSV文件保存目录,这两个目录需要根据实际进行修改。运行完成后打开“csv保存目录”文件夹即可看到转换好的csv文件,如下图:
第二步:编写CMD命令实现EXCEL多表数据快速汇总。
(1)编写CMD命令。打开“csv保存目录”文件夹,按SHIFT 右键,点击“在此处打开命令窗口”,在命令窗口中运行命令copy *.csv 汇总.csv,即把该路径下所有的csv文件汇总到“汇总.csv”文件中。如下图:
(2)汇总完成后数据处理。打开汇总.csv文件,通过EXCEL筛选功能删除多余列名保存后导入数据库中。
注意汇总csv文件后如遇到身份证号、银行账号等数据比较长的列显示为科学计数法,可新建EXCEL后打开,点击菜单“数据”,点击“获取数据”,然后选择相应的csv文件打开则显示正常。(作者单位:湖北省荆门市审计局)
,