日期:2014-05-19  浏览次数:20402 次

导入
现在一个表aaa   (aa   char(7),bb   varchar(50),cc   datetime(8),
dd   varchar(1000),ee   varchar(50),)

我想通过以下的excel表导入到 aaa   中,请问如何操作


以下是一个excel文件:aa.xls;
aa(文本型)     bb(文本型) cc(日期型) dd(文本型 )                   ee(文本型)
1047214     82302765 2007-9-30   0:00 无锡莫泰酒店有限公司 zj
1047226     82300099 2007-7-31   0:00 无锡泰思特仪器设备有限公司 xx
1047228     82988550 2007-11-30   0:00 无锡威展机电有限公司 xx
1047230     众信代理 2007-9-30   0:00 无锡皮亚杰文化培训有限公司 xx
1047231     13771472349 2007-9-30   0:00 无锡市腾隆企业形象公司 xx
1047232     13093090518 2007-7-31   0:00 无锡融海投资咨询有限公司 xx
1047233     85055163 2007-11-30   0:00 无锡市生物资回收有限公司 xx
1047234     85038745 2007-11-30   0:00 无锡市人才服务管理中心 cl
1047235     85038745 2007-8-31   0:00 无锡市环新清洁有限公司 cl


------解决方案--------------------
--在查询分析器中执行

--try


insert into aaa(aa,bb,cc,dd,ee)
select aa,bb,cc,dd,ee
from openrowset( 'Microsoft.JET.OLEDB.4.0 ', 'Excel 5.0;hdr=yes;Database=D:\aa.xls ',[Sheet1$])

------解决方案--------------------
可以直接用DTS导入:
在SQL中选择一个数据库-> 右击选择 "所有任务 "-> 右击选择 "导入数据 "-> 下一步-> 数据源 "Microsoft Excel 97-2000 "和Excel文件的路径-> 数据库即目标数据库-> 下一步 直致完成
------解决方案--------------------
create proc export
@path varchar(500)
as
declare @sql varchar(8000)
set @sql= 'insert aaa(aa,bb,cc,dd,ee) select aa,bb,cc,dd,ee from openrowset( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'EXCEL 8.0;HDR=YES;User id=admin;Password=;IMEX=1;DATABASE= '+@path+ ' ' ', sheet1$) '
exec(@sql)
go

exec export 'c:\aa.xls '

drop proc export