您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Sqlserver 中查询Excel

2024/4/1 3:21:23发布20次查看
先上sql: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'ad hoc distributed queries',1 reconfigure select * from opendatasource('microsoft.jet.oledb.4.0', 'data source=e:\haierweb\myweb\doc\abc.xls;extended prop
先上sql:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'ad hoc distributed queries',1
reconfigure
select  *    from opendatasource('microsoft.jet.oledb.4.0',
'data source=e:\haierweb\myweb\doc\abc.xls;extended properties=excel 8.0')...sheet1$
第一行当做表头。
其余行当成一种数据类型,且不能转换,如果有文本,有数字, 按出现多的一项显示,其余为null
员工信息f2
null    姓名
664754    张三
664783    李四
null 处应该是 员工编号 。 前两行是表头。 
对于这种形式,应该把  数字前多输一个’(单引号) 强行转换为文本格式。快速填入相同内容 选中多个单元格后,输入字符,然后按ctrl+enter组合键,即可在选中的每个单元格中填入上述相同的字符。
解决方法:
select  *    from opendatasource('microsoft.jet.oledb.4.0',
'data source=e:\haierweb\myweb\doc\abc.xls;extended properties=excel 8.0;hdr=yes;imex=1;')...sheet1$
hdr=yes , 是说第一列当做表头。
imex=1 ,  是说把表内容混合读取。
imex=2 , 是指可以对表内容进行 读取 和 写入.
在oledb中,如果不存在该excel,创建表时,自动创建excel文件.
jet 居然支持这么多数据库, 连html table 也支持。 参考:http://zh.wikipedia.org/zh-cn/microsoft_jet_database_engine
查询文本文件:
文件必须是,号分割文件
hdr=yes     的时候,第一行被认为是字段名  
  hdr=no       的时候,第一行被认为是数据
select   *   from    
  openrowset('microsoft.jet.oledb.4.0'  
  ,'text;hdr=no;database=c:\'   --c:\是目录 
  ,surveys#txt)--aa#txt是文本文件名aa.txt
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product