Excel表批量导入SQL Server 2008

river_2012 2012-02-27 01:40:26
SQL Server 2008数据库情况:数据库名为[2011数据],该数据库下已建有100张表,每张表的表名、字段名称和字段类型皆不相同,现皆为空表。

Excel表的情况:现在excel工作薄100个,每个工作薄仅有sheet1表,并填写有数据。每个工作薄的名称均和SQL Server 2008下建的表名一一对应,并且sheet1表中各字段的类型也均和数据库下的同名表的字段类型相同。

期望:现在要将此100张Excel表批量导入到SQL Server 2008下建好的[2011数据]数据库的相应表中,请问各位大虾,有什么好办法吗?非常感谢!期待中……
...全文
479 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
river_2012 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wejill 的回复:]

1:用 exec xp_cmdshell ' dir "目录" > "D:\list.xls" '
2:再用你的方法
SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
导入这个表的内容,
3:用SQL对内容进行筛选,得到全部是 *.xls……
[/Quote]
阁下说的替换生成SQL语句,如果是100张表的话,要生成对应的100条导入语句吗?如果是这样,我之前用word邮件合并也做出来了。
我是想,在这个导入语句的基础上INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$),能不能把语句中的“表”和“c:\test.xls"部分,像C语言中一样设置成变量,然后做成循环100次的循环语句,来实现100张excel表的导入。因为sql server不熟悉,所以语句不会编写。只是有这个想法和思路,请指教!谢谢!
wejill 2012-02-28
  • 打赏
  • 举报
回复
补充,第4步生的@SQL语句用 EXECUTE(@SQL) 执行
wejill 2012-02-28
  • 打赏
  • 举报
回复
1:用 exec xp_cmdshell ' dir "目录" > "D:\list.xls" '
2:再用你的方法
SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
导入这个表的内容,
3:用SQL对内容进行筛选,得到全部是 *.xls 的数据。
4:根据你之前的语句,用步骤3的文档名称进行 DATABASE=c:\test.xls' 的替换 生成SQL语句
5:循环4,直到全部的XLS导入完成。
hyrongg 2012-02-28
  • 打赏
  • 举报
回复
如果只是一次性导入,为什么不用SSIS向导?
dawugui 2012-02-27
  • 打赏
  • 举报
回复
写个程序,逐一导入.
river_2012 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]

写个程序,逐一导入.
[/Quote]
主要就是程序不会写!目前对SQL Server的语法不熟悉!大侠能否帮忙指点一下呢?非常感谢:)
river_2012 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]

写个程序,逐一导入.
[/Quote]

我现在只会用这个语句逐个将excel表导入到SQL Server库已有的表中:
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
如果要批量导入,我现在就用的是自己琢磨出的的办法,必须借助cmd(命令提示符)导入所有excel表文件名,然后通过word的邮件合并做成批量导入的100条导入语句。这样虽能实现,但语句不精练,过程也麻烦。
想问下dawugui,能不能写段程序,可以读取所有的excel文件名和路径,做一个循环,逐一比对数据库中的表名,实现批量导入?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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