Excel作为SSRS中的数据源查询工作表的特定列

Excel作为SSRS中的数据源查询工作表的特定列,excel,reporting-services,datasource,Excel,Reporting Services,Datasource,我想使用ODBC系统DSN for excel 12.0从excel文件中查询数据 从工作表(而不是整个工作表)中查询特定列的正确语法是什么 从“Sheet1$”中选择“Sheet1$”** 我需要能够不查询所有行,也不允许导入空行。您最好使用OPENROWSET。如果Excel文件有列标题,则可以执行以下操作 Select MyFirstColumn, MySecondColumn, MyThridColumn, MyLastColumn FROM OPENROWSET('Microsoft.

我想使用ODBC系统DSN for excel 12.0从excel文件中查询数据

从工作表(而不是整个工作表)中查询特定列的正确语法是什么

从“Sheet1$”中选择“Sheet1$”**


我需要能够不查询所有行,也不允许导入空行。

您最好使用OPENROWSET。如果Excel文件有列标题,则可以执行以下操作

Select MyFirstColumn, MySecondColumn, MyThridColumn, MyLastColumn FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=\\myServer\MyPath\MyFile.xlsx;HDR=YES', 'SELECT * FROM [myWorkSheet$]')
如果没有行标题,则设置
HDR=no
并使用列名称
F1、F2…F99

可以添加where子句以过滤掉空行,就像处理常规表一样

注意您需要允许临时查询,并确保提供程序安装在ESRV上。有很多关于如何做到这一点的文章,非常简单


还要记住,路径必须对服务器可见,而不仅仅是对本地工作站可见。

如下所示,您不能直接从SSRS连接到Excel,但可以通过SQL server连接。在尝试使用文件作为数据源时有很多局限性,您应该首先考虑将数据加载到数据库中的表中。