在sql中查询显示excel表的内容
问题一:--如下写法有错误
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\Book1.xls";HDR=YES;Extended properties=Excel 5.0')...[Sheet1$]--链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "找不到可安装的 ISAM。"。
--消息 7303,级别 16,状态 1,第 1 行--如下正确
SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=e:\Book1.xls',sheet1$)
--问题二:
在excel表中,第一行是一个大的标题,第二行是各个列名之类的,接下来是数据。该如何导入到sql中去呢?
select * 之后的就是整个excel表,sql语句怎么写呢?问题三:
在excel sheet1中设置了第一列是数值类型,第二列是文本类型。如下:
ID   |  Name
11      kk
12      kk1
13      pp.101
导入到sql中的tbNew中,pp.101显示为null? 
exec sp_columns tbNew 之后,显示各列的属性都是float?

解决方案 »

  1.   

    系统环境:
    win xp sp3,
    ms sql 05,
    ms office 03,wps10//
      

  2.   

    二:把execl文件的大标题去掉,第一行应该是列头,然后是数据,使用向导一步一步,自己指定表名即可
      

  3.   


    while(true)
    {
    Console.WriteLine("cxmcxm hery2002 josy");
    //come on;
    }
      

  4.   


    问题三,SSIS中是通过加扩展属性IMEX=1 解决,自动匹配数据类型问题的,不知道这个通不通用。
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1";http://topic.csdn.net/u/20100709/16/4aa112f1-1f4d-4fbf-9a4f-e6ba3ef87020.html
      

  5.   

    问题一:
    去掉HDR=YES。问题二:
    excel一定要是format的,如果不是的一定要过滤掉不需要的行问题三:
    db中的table要建立相应的数据类型
      

  6.   

    float也是我最近遇到的问题,无论你把excel表的格式怎么设置都不行,最简单的有一个方法,直接把excel的内容另存为txt格式,然后把txt文档导入数据库中,这样你导入的值都将被当做字符来处理,就不会出现变成float了。
      

  7.   

    就把EXECL 类型全部指定为字符型.并全部在值前面加个'号,这样就保证了不会出现NULL了.或者先查询的时候指定字段类型,试试.导入导出的时候也指定字段类型.