• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Sqlserver 中查询Excel

mysql 搞代码 4年前 (2022-01-09) 34次浏览 已收录 0个评论

先上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:\Hai本文来源gao@daima#com搞(%代@#码网erWeb\MyWeb\Doc\abc.xls;Extended Prop

<link href=”/js/syntaxhighlighter/common2_cnblogs.css” rel=”stylesheet” type=”text/css” />

先上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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Sqlserver 中查询Excel

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址