excel文件的多个sheet表合并成一个csv文件并导入数据库
2017-04-29 10:39
1231 查看
作者:WenWu_Both
出处:http://blog.csdn.net/wenwu_both/article/
版权:本文版权归作者和CSDN博客共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任
最近帮一个老师处理数据,结果他发给我的是一堆excel文件,而且每个excel文件又包含很多sheet表,所以想把这些sheet整合成一个csv文件,但excel的“另存为”只支持当前sheet的操作,如果一个个文件一个个sheet的操作过来,实在是费事,所以想到了调用excel的VBA,很轻松的完成了任务,怕后面遗忘了,所以记录一下:
(1)sheet表转成csv文件
VBA代码:
其中’fPath’为存放原始数据(excel文件)的路径
‘sPath’为存放生成数据(csv文件)的路径
上述代码是将文件夹里所有excel文件的所有sheet表均转化成csv,如果有些sheet表不想导出,可以先选择好想要导出的sheet表,然后执行以下代码:
(2)多个csv文件合并
第一步将文件夹里的所有excel文件的所有sheet表均转化成了csv文件,下面我们将这些csv文件合并成一个csv文件。
运行cmd文件,切换到存放csv的文件夹,执行以下命令:
即将文件夹里的所有csv文件合并成all_data.csv文件。
(3)导入数据库
导入数据库我就不多讲了吧,选择合适的数据库执行导入即可(MySQL,Oracle,MongoDB等)
PS: 其实这个过程也可以编写Python脚本实现,有兴趣的可以试一下。
出处:http://blog.csdn.net/wenwu_both/article/
版权:本文版权归作者和CSDN博客共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任
最近帮一个老师处理数据,结果他发给我的是一堆excel文件,而且每个excel文件又包含很多sheet表,所以想把这些sheet整合成一个csv文件,但excel的“另存为”只支持当前sheet的操作,如果一个个文件一个个sheet的操作过来,实在是费事,所以想到了调用excel的VBA,很轻松的完成了任务,怕后面遗忘了,所以记录一下:
(1)sheet表转成csv文件
VBA代码:
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\JiaoTong\Desktop\data\" sPath = "D:\csvdata\" 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.Copy 'to a new workbook 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’为存放原始数据(excel文件)的路径
‘sPath’为存放生成数据(csv文件)的路径
上述代码是将文件夹里所有excel文件的所有sheet表均转化成csv,如果有些sheet表不想导出,可以先选择好想要导出的sheet表,然后执行以下代码:
Option Explicit Sub ExportSelectionToCSV() Dim wks As Worksheet Dim newWks As Worksheet For Each wks In ActiveWindow.SelectedSheets wks.Copy 'to a new workbook Set newWks = ActiveSheet With newWks Application.DisplayAlerts = False .Parent.SaveAs Filename:="D:\csvdata\" & .Name, _ FileFormat:=xlCSV Application.DisplayAlerts = True .Parent.Close savechanges:=False End With Next wks End Sub
(2)多个csv文件合并
第一步将文件夹里的所有excel文件的所有sheet表均转化成了csv文件,下面我们将这些csv文件合并成一个csv文件。
运行cmd文件,切换到存放csv的文件夹,执行以下命令:
copy *.csv all_data.csv
即将文件夹里的所有csv文件合并成all_data.csv文件。
(3)导入数据库
导入数据库我就不多讲了吧,选择合适的数据库执行导入即可(MySQL,Oracle,MongoDB等)
PS: 其实这个过程也可以编写Python脚本实现,有兴趣的可以试一下。
相关文章推荐
- 用脚本将excel,csv等文件导入数据库
- EXCEL打开csv文件中文乱码,以及导入数据库中文乱码
- 将多个csv文件合并到一个excel文件的不同的sheet中
- 大文件Excel,csv等快速导入数据库
- 用脚本将excel,csv等文件导入数据库
- (原创)关于如何处理EXCEL( CSV)文件 导入数据库的解决方法!!
- 2.5 使用Groovy导入CSV文件的数据到一个内存模式的H2数据库
- 一个坑爹的软件在导入execl时报打开Excel文件出错:Microsoft Jet 数据库引擎找不到对象错误。
- Gridview读取Excel文件中的数据,并将其导入数据库
- 根据Excel文件导入数据库中的表
- CSV 文件分析与导入数据库
- 两个可将Excel文件数据导入到数据库中的开源项目
- 小招技巧: EXCEL文件导入数据库(转)
- php数据导入导出之excel(csv文件)
- php数据导入导出之excel(csv文件)
- 将Excel文件数据库导入SQL Server的三种方案
- 读取Excel文件中的数据,并将其导入数据库
- [VB.NET]vb.net里面怎么生成一个CSV文件,并把检索出来的数据集导入CSV
- 将Excel文件导入到Asp.net后台数据库中
- 一个存储过程实现将Excel数据导入数据库