SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

解决方案 »

  1.   

    EXEC sp_addlinkedserver 'ExcelSource',
       'Jet 4.0',
       'Microsoft.Jet.OLEDB.4.0',
       'c:\Temp\Part.xls',
       NULL,
       'Excel 5.0'
    GOEXEC sp_addlinkedsrvlogin 'excelsource', 'false', NULL, NULL, NULL在excel中选定范围,选择菜单'插入'->'名称'->'定义'示例SELECT *
    FROM EXCEL...SalesData  (整页使用 Sheet1$) 如果碰到转换为NULL值请使用文本文件来做DTS转换。
      

  2.   

    mjhnet(天涯沦落人)的方法看上去應該可以吧,我等一下試試,
    還有沒有別的方式呢?比的我的那句為什麼不行呢?
      

  3.   

    改为下面的试,一般工作表名后要加$的,不然会提示不存在:
    SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\abc\a.xls";Extended properties=Excel 5.0')...Sheet1$
      

  4.   

    如果还是不行,那说明是权限的问题,这个权限不是指windwos的权限,而是指SQL的权限,你用sa试试opendatasource要求登陆SQL的用户具有:system administrators
    权限,就是要求有全部权限
      

  5.   

    请教:
    我使用如下语句:SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\a.xls";Extended properties=Excel 5.0')...Sheet1$原excel表内容如下:
    234 df cvb
    sdfs dfsgfs dsgf
    ds sdgf sdgfsd
    sdgf dsgfsd dsgf在SQL Server中查得如果如下:
    dsgf dfsgfs sdfs
    sdgfsd sdgf ds
    dsgf dsgfsd sdgf查询结果次序不同,而且内容也不完全.请问是什么原因?
      

  6.   

    内容不全,是因为它把第一行当作了字段名,改用下面的方法就行了.
    至于顺序,多数时候,顺序都会被打乱的.这个好像没什么规律select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=NO;IMEX=2;DATABASE=c:\a.xls',sheet1$)
      

  7.   

    另外,在EXCEL中,如果数字和字符在同一列中,在输入数字时,数字前要输入一个单引号'
    否则上面的语句会把数字显示为null
      

  8.   

    多谢楼上指点.
    再问一个问题:
    select * into clan from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=NO;IMEX=2;DATABASE=c:\a.xls',sheet1$)是在数据库里插入一个新表,但如果希望将excel表格的内容增加到一个已存在的表中,命令的格式应该是怎么样?
      

  9.   

    是不是将excel的内容先读到一个表,再将两表合并?
      

  10.   

    insert into clan
    select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=NO;IMEX=2;DATABASE=c:\a.xls',sheet1$)
      

  11.   

    请问将数据库的数据导出到excel表格中,也有相应的命令吗?
      

  12.   

    将数据库的数据导出到excel中,前提是excel文件已经存在.可以用:select * into
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=NO;IMEX=2;DATABASE=c:\a.xls',sheet1$)
    from 你的表
      

  13.   

    服务器取客户机上的Excel数据?还是.....Excel向服务器送数据?
      

  14.   

    Excel在服务器上因为所有的语句都是发送到服务器去执行的.如果服务器取客户机的数据,要用共享路径.
      

  15.   

    致邹健:
    在下面词句中:
    select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=NO;IMEX=2;DATABASE=c:\a.xls',sheet1$)
    能不能设定从表的某一行开始读入?
      

  16.   

    请问大侠,我用上面语句时,显示“OLE DB 提供程序'microsoft.jet.oledb.4.0'
    报错。这是怎么回事?