如何将多个相同结构的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文件中的数据导入。谢谢!
...全文
203 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
如果不是经常重复这么弄,手工导数据还方便

7,785

社区成员

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

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