我正在使用SSRS 2012.我们有一个占位符,其中包含一个动态抓取数据库中存储html的列的表达式。遗憾的是,SSRS不支持CSS样式背景颜色,我们用它来显示突出显示的文本。
例如,给出下面的HTML
<span style="background-color: #ffff00;">highlighted text</span>
我们希望以黄色背景颜色显示文本“突出显示的文字”。
有没有办法向SSRS添加自定义代码,允许我们用某种类型的SSRS内联背景颜色标记替换span标记,例如[background-color:yellow]突出显示的文本[/ background-color]
答案 0 :(得分:0)
您可以在字段数据中包含标记,并设置文本框以解释HTML标记。 SSRS只识别标签的一个子集,但我认为是,而且肯定是。 &#34; SQL Chick&#34;有一篇文章here。当然,您的报表查询必须足够智能,以便知道高亮标记的放置位置。
答案 1 :(得分:0)
我不认为可以做到。 我遇到了同样的问题。 SSRS将识别前景色。它无法识别背景色甚至标记级别 bgcolor
我进行了一项快速测试,看看我是否可以在ssrs中做任何事情来解决这些限制。看起来SSRS会主动抓取内容和样式,然后根据需要应用它。
在这里您可以看到我的快速报告。我在表中输入了一些简单的HTML,然后尝试将其显示为HTML。您可以看到原始HTML和生成的SSRS渲染。第一列是Len(rawHTML)。关于SSRS或SQL是否截断了rawHTML,存在一个问题。该列当前定义为nVarchar(8000)。
这里是一个秘密的偷看。这是CHROME DevTool,从上方显示了NOT UNDERLINED标签的呈现HTML。您会看到没有实际的HTML通过。
对于禁止将HTML注入或JS注入报告,MS似乎有着非常强烈的感觉。 (我已经尝试过一切想得到的报告,以从网页导入D3图像,但我无法做到)
我可以毫不客气地向MS表示,允许JS注入会导致大量错误报告。在较小程度上,我可以看到HTML插入是一个潜在的问题。
不幸的是,这导致了他们的“抓取和模仿”方法。对HTML格式的支持似乎还很浅。
对于那些感兴趣的人,这里是我的SSRS的版本信息。 SQL Server是2019 Enterprise。