1
3
如果我明白你想做什么,那么是的,这是可能的,但这是一种痛苦。我对报表生成器2.0报表的各种快照(如在报表管理器中拍摄的)执行了此操作。 如果使用报表服务器的内置web服务,则可以通过编程方式生成报表。见 ReportExecutionService.Render Method 对于一些示例代码(请注意,我甚至在使用SQL Server 2008时也使用ReportExecution2005 web服务)。您可以将报表呈现为多种格式,如XML、MHTML或PDF,然后尝试从中提取数据。您应该向报表中添加所关心的数据表,通过将其可见性更改为hide来隐藏该表,但将其DataElementOutput属性设置为Output,以便在呈现报表时包含该表。为表指定一些独特的名称(例如,将“Tablix1”替换为“FlatData”)。然后,可以将报表呈现为XML格式,并使用XSLT只提取该表中的行。以下是我以前使用过的一些XSLT,用于从呈现的报表生成器2.0报表中提取数据:
注意,这个XSLT取决于您将报表中隐藏的数据表命名为“FlatData”。如果您知道报告中的某些数据将具有HTML标记或其他如果放在两个XML标记之间将无效的XML内容,请更改上面的XSLT以将该数据包装在CDATA标记中(例如,替换
将这个XSLT应用到报表的呈现XML版本将产生更多的XML,这次只包含您关心的报表数据。只使用报表的呈现XML版本的问题在于,它包含所有图表、外观信息等,而不仅仅是您的数据。尝试以XML格式呈现一个报表,并查看其源代码;它有各种您可能不想要的疯狂。 对于将XSLT转换应用于XML的命令行工具,我建议 xalan . 下面是一个使用示例:
生成的transformed.xml的格式如下:
|
2
1
正如Sarah Vesses在她的回答中已经提到的,您可以推动报表服务器来呈现数据, 在许多格式中,也许EXCEL是不错的选择,这取决于报表设计的复杂性。 I asked similar qestion 在许多托盘之后,我在Mssql中找到了在报表生成之前制作的试探性应用程序,在我看来报表服务器是作业处理的最后一个实例,所有数据和存储都应该在呈现报表的后端完成 |
3
0
这是个有趣的问题。当我不得不解决这个问题(对于rdl文件的单元测试)时,我编写了一个简单的xml解析器,从rdl文件中提取sql语句并执行它。这很简单,但是如果你的语句有很多参数,当然会变得更复杂。但是,文件中也提供了参数信息,因此您应该能够编写通用解决方案(但您当然需要为参数提供值)。 |
Testtest11 · 生成Power BI文档 8 年前 |
PNPTestovir · SSIS中的测试连接失败 8 年前 |
Will · COGNOS REPORT STUDIO分组 9 年前 |