如何将多个相同结构的excel导入到SqlServer

hcl8260 2008-12-01 03:06:04
本人是vb新手’以下是我写的部分代码(实现了将一个Excel文件导入到SqlServer的功能),现在要导入多个Excel文件。请大侠们指教,谢谢!
'---------------------------------------------------------------------------------------------------
'选择excel文件的按钮
Private Sub cmdSelExcel_Click(Index As Integer)
txtSelExcel(Index) = SetFileDialog
End Sub


Private Function SetFileDialog() As String
Dim strFilePath As String

With CDFile
.FileName = ""
.Filter = "Excel(*.xls)|*.xls|All Files|*.*"
.Action = 1
strFilePath = CDFile.FileName
End With
If strFilePath <> "" Then SetFileDialog = strFilePath
End Function
'-------------------------------------------------------------------------
下面就是连接数据库,读取excel中的数据,insert into sql数据库中。
请各位大侠帮忙。可以是选择一个文件夹,将其中的xls文件中的数据全部导入,另外也可以支持多选,将选中的excel文件中的数据导入。谢谢!
...全文
192 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hcl8260 2008-12-03
  • 打赏
  • 举报
回复
10楼的list1 是什么?
of123 2008-12-01
  • 打赏
  • 举报
回复
Private Function SetFileDialog() As String
Dim strFilePath As String
With CDFile
.Flags = cdlOFNAllowMultiselect + cdlOFNExplorer
.Filter = "Excel(*.xls)|*.xls|All Files|*.*"
.ShowOpen
SetFileDialog = .FileName
End With
End Function

Private Sub cmdSelExcel_Click()
Dim files() As String, i As Integer
files = Split(SetFileDialog, Chr(0))

List1.Clear
For i = 0 To Ubound(files)
List1.AddIntem files(i)
Next i
End Sub
lsftest 2008-12-01
  • 打赏
  • 举报
回复
例如这个(是excel里的vba):
Option Explicit
Private Sub CommandButton1_Click()
Dim f, mf, i
Dim wk As Workbook, sht As Worksheet

ChDrive Left(ThisWorkbook.Path, 1)
ChDir ThisWorkbook.Path
f = Application.GetOpenFilename(FileFilter:="Excel文件 (*.xls),*.xls", Title:="请选择要合并的文件", MultiSelect:=True)

On Error Resume Next
Application.ScreenUpdating = False
For Each mf In f
Set wk = GetObject(mf)
Set sht = wk.Sheets("Sheet1")
sht.UsedRange.Copy Range("a" & [a65536].End(xlUp).Row + 1)
wk.Close False
i = i + 1
Next
MsgBox "汇总完成,共汇总了" & i & "个文件!"
Application.ScreenUpdating = True
End Sub
lsftest 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hcl8260 的回复:]
是插入到sql server同一库的同一表里,另外,想通过程序实现,不是sql2005
[/Quote]
如果这样建议先用vba把全部excel汇总到一个excel里再导入,多个excel合并成一个的代码很多,上网找找就行了。
hcl8260 2008-12-01
  • 打赏
  • 举报
回复
是插入到sql server同一库的同一表里,另外,想通过程序实现,不是sql2005
lsftest 2008-12-01
  • 打赏
  • 举报
回复
插入到sql server同一库的同一表里吗???
jinjazz 2008-12-01
  • 打赏
  • 举报
回复
如果是sql2005可以参考ssis
http://blog.csdn.net/jinjazz/archive/2008/11/26/3377817.aspx
hcl8260 2008-12-01
  • 打赏
  • 举报
回复
谢谢以上热心朋友,现在的问题是:选择多个Excel文件,然后执行导入(不能选择文件夹,然后遍历导入)
Tiger_Zhao 2008-12-01
  • 打赏
  • 举报
回复
参考我在下面贴子的样例(10楼)
http://topic.csdn.net/u/20080806/13/8cb252f6-62f7-4ad4-9f5b-e9d2f3af8a5e.html
zuoxingyu 2008-12-01
  • 打赏
  • 举报
回复
你可以做个DTS包,

指定EXCEL名称的时候,用TMP.XLS,然后循环文件夹里的每个问题,修改名字,再执行这个DTS包
现在还是人类 2008-12-01
  • 打赏
  • 举报
回复
如果不是经常重复这么弄,手工导数据还方便
本课程根据讲师十多年在世界500强外企的生产环境中的SQL Serer数据库管理和项目实施经验倾心打造。课程系统性强,知识体系完整,覆盖90%以上的企业环境下SQL Server高可用场景,课程中不仅演示详细的操作步骤,更加突出最常见的故障和问题,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范,满满的干货分享,一些课程资料(架构图、部署规划表格等)不仅可以帮助学员掌握技能,也可以作为学员在企业生产环境中实施SQL Server高可用的配置文档、操作手册等。课程的实验环境介绍:1)全部基于微软域环境和企业版SQL Server AOAG - 95%以上的企业环境都是在域环境中,不介绍非域环境和标准版的SQL Server高可用性组,这的配置在企业中较罕见,没有实践意义,不浪费学员时间。2)相应域环境已提前部署和配置好 - 学员导入虚拟机即可开始实验,无需从零开始搭建域环境,所有实验中SQL Server均已加域,直入主题,节省大量时间。3)最新的Windows Server故障转移集群(WS2016、WS2019)和最新版本的SQL Server(SQL2017、SQL2019) -  WS2016-SQL2017与WS2019-SQL2019是目前大多数企业SQL Server高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。本课程为后续SQL Server进阶课程铺垫,是通向SQL Server DBA 专家的必经之路,讲师每周答疑两次。所有课程资料包括:课程PPT、架构图、部署规划表格、各类脚本学员均可下载。     

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧