导入EXCEL到SQLSERVER

0

本文作者:分秒必争  发布于:2009-12-22  分类:Windows  点击:


因数据迁移,须要将EXCEL的内容导到SQLSERVER,弄了好多次弄不好,不是这个出错就是那个出错,太浪费时间了,网上的内容也是大同小异却没有一个完整的说法,或别的东东

本着服务大众的精神,也为了自己以后忘记不会没地方找,所以在这里记上一笔,很简单的,如果你要导入的表没有索引,也就是自动增加的那个ID,那么直接类例于这句就行了

insert into goods select * from openrowset('microsoft.jet.oledb.4.0','excel 5.0;hdr=yes;database=c:\2009.xls',sheet1$)
 

解释:以上,第一个goods是SQLSERVER中的数据库存中的表,后面是你的EXCEL放的路径和哪个表的内容

如果你的表格有索引,那么要导入数据就要把须要的数据列名写上去,如下所示

insert into goods(code,name,type,unit,begamount) select f_code,F_name,F_type,F_unit,F_begamount from openrowset('microsoft.jet.oledb.4.0','excel 5.0;hdr=yes;database=C:\2009.xls',sheet1$)

解释:以上goods还是数据库存中的后,goods后面的括号里的内容是表中要插入数据的列,而select后面是你的EXCEL列中的标题,databae=后面还是你表格的路径跟要导入的表

不然会出现以下错误

服务器: 消息 8101,级别 16,状态 1,行 1
仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'goods' 中为标识列指定显式值。

Share
本文标签: EXCEL  SQLSERVER  
本文Url: http://www.djhui.net/post/433.html (出自: 分秒必争)
我要引用: 点击这里获取该日志的TrackBack引用地址

相关文章:

412. EXCEL不用替换去除vlookup公式留下的#N/A  (2009-2-20 15:46:49)

301. 修复在EXCEL中转换PDF图标  (2007-11-13 17:37:21)

0 Comments

Write a comment ?