insert 你的表 (除了id列的列1,列2)
SELECT 列1,列2
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

解决方案 »

  1.   

    3ks.不过,sdhdy(大江东去...) 的做法操作完成后,无法对后续导入数据实现其ID自增。
     pengdali(大力 V3.0) ,你的做法不错,不过excel字段与sql字段不是一一对应的,需要重新设置映射关系。
    如何解决呢。我觉得sql导数据工具应该能够实现这样的操作,很基本的。就是在追加数据中添上自增属性而已。应该有很简单的方法。
    希望大家帮忙
      

  2.   

    还是在查询分析器中,手工导入,忽略ID字段吧.
    列的问题,你自己对应写就行了.
    insert 你的表 (除了id列的列1,列2)
    SELECT 列1,列2
    select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=F:\My Documents\客户资料.xls',全部客户$)
      

  3.   

    --如果EXCEL表和接受数据的表存在字段名对应的关系,你可以用生成SQL语句的方法来解决字段列表的问题:例如:declare @sql varchar(80000)
    set @sql=''
    select @sql=@sql+','+name from syscolumns where object_id('你的表')=id and stauts<>0x80set @sql=substring(@sql,2,8000)
    exec('insert into 你的表('+@sql+') select '+@sql+' from OPENROWSET(''MICROSOFT.JET.OLEDB.4.0''
    ,''Excel 5.0;HDR=YES;DATABASE=F:\My Documents\客户资料.xls'',全部客户$)
    ')
      

  4.   

    zjcxc(邹建) 
    手工导入,如何忽略ID字段,其中ID为主键,无法忽略的
      

  5.   

    既然是自增字段,忽略它是没问题的,它会自动被dbms赋值的