现在一个表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

解决方案 »

  1.   

    --在查询分析器中执行--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$]) 
      

  2.   

    --假设aa.xls位于c:\
    --假设aa.xls存在工作表sheet1
    --假设aa.xls的第一行的名称分别是aa,bb,cc,dd,ee
    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=c:\aa.xls', sheet1$)
      

  3.   

    可以直接用DTS导入:
    在SQL中选择一个数据库->右击选择"所有任务"->右击选择"导入数据"->下一步->数据源"Microsoft Excel 97-2000"和Excel文件的路径->数据库即目标数据库->下一步 直致完成
      

  4.   

    现在我已经在查询分析器可以,但如何做成存储过程,通过前台程序来调用
    insert into sxlxxy(WEIJIBIANMA,NASHUIRENJC,DIANHUA,YOUXIAORIQI,CHUANJIANREN)
    select WEIJIBIANMA,NASHUIRENJC,DIANHUA,YOUXIAORIQI,CHUANJIANREN
    from openrowset('Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=1;
    User id=admin;Password=;IMEX=1;DATABASE=d:\bb.xls', sheet1$)
      

  5.   

    补充一下:
    d:\bb.xls以变量的形式出现
      

  6.   

    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)
    goexec export 'c:\aa.xls'drop proc export