OpenRowSet - SQL Server
我正在使用 SQL Server 的 Openrowset 函数从 Excel 文件中读取数据。
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=E:\IGM\Files\cis overview.xls;HDR=No;IMEX=1;','SELECT * FROM [CIS Overview$]')
但 openrowset
并未显示所有列。
下面只是示例,我正在读取的 Excel 文件有 28 列,其中 27 列没有数据,只有标题,而 28 列被 Openrowset
忽略。
col1 col2 col3
--------------
A X
B X
C X
. .
. .
Openrowset
未在结果集中返回 col3
- 为什么?
它只显示 col1、col2。
但是如果我在 col2(任何单元格)中插入一些数据,结果集将包含所有三列。
如果上一列没有数据,它会忽略最后一列吗?
我还在查询中包含 HDR=NO
选项,但运气不佳?
他们有什么方法可以获取结果集中的所有列吗?
有什么帮助吗?
问候,
I am using Openrowset
function of SQL Server to read data from excel files.
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=E:\IGM\Files\cis overview.xls;HDR=No;IMEX=1;','SELECT * FROM [CIS Overview$]')
But not all columns are being shown by openrowset
.
Below is just sample, the Excel file which I am reading has 28 columns, and 27 having no data in it, just heading, and 28 is ignored by Openrowset
.
col1 col2 col3
--------------
A X
B X
C X
. .
. .
Openrowset
is not returning col3
in resultset - why?
Its only showing col1, col2.
But if i insert some data in col2(any cell), result set will have all three columns.
It is ignoring last column if previous has no data?
I also include HDR=NO
option in query, but no luck?
Is their any way to get all columns in result set?
any help?
regards,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
删除工作表选项卡名称中的空格:“CIS 概述”--> “CIS_Overview”或“CISOverview”。
Remove the space from your worksheet tab name: "CIS Overview" --> "CIS_Overview" or "CISOverview".
如果您知道列数,则可以尝试在 Excel 列表的查询中指定列数:
此处列从“A”到“Z”。
If you know number of columns you can try to specify if in a query to excel list:
here columns goes from 'A' to 'Z'.