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

时间:2017-06-05 12:41:22

标签: excel reporting-services datasource

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

从工作表中查询特定列的正确语法是什么,而不是像这个示例那样查询整个工作表:

SELECT' Sheet1 $'。* FROM' Sheet1 $' **

我需要能够不查询所有这些内容,也不能导入空行。

1 个答案:

答案 0 :(得分:0)

您最好的选择是使用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子句来过滤掉空行,就像使用常规表一样。

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

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