5

我正在使用 SSRS 2012。我们有一个占位符,其中包含一个表达式,该表达式动态抓取我们数据库中存储 html 的列。不幸的是,SSRS 不支持 CSS 样式背景颜色,我们使用它来显示突出显示的文本。

例如,给定下面的 HTML

<span style="background-color: #ffff00;">highlighted text</span>

我们想用黄色背景颜色显示文本“突出显示的文本”。

有没有办法向 SSRS 添加自定义代码,允许我们用某种类型的 SSRS 内联背景颜色标记替换 span 标签,例如 [background-color:yellow]highlighted text[/background-color]

4

2 回答 2

0

我不相信它可以做到。我遇到了同样的问题。SSRS 将识别前景色。它不会识别背景颜色甚至标签级别的bgcolor

我进行了一个快速测试,看看我是否可以在 ssrs 中做些什么来绕过限制。似乎 SSRS 会主动抓取内容和样式,然后根据需要应用它。

在这里,您可以看到我制作的快速报告。我在表格中输入了一些简单的 HTML,然后尝试将其显示为 HTML。您可以看到原始 HTML 和生成的 SSRS 渲染。第一列是 Len(rawHTML)。关于 SSRS 或 SQL 是否截断 rawHTML 存在疑问。该列当前定义为 nVarchar(8000)。

SSRS 报告显示存储在 DB 中的原始 HTML 和结果占位符 w/ DISPLAY AS HTML = TRUE

这是封面下的一瞥。这是 CHROME DevTool,显示了上面的 NOT UNDERLINED 标记的渲染 HTML。您可以看到没有任何实际的 HTML 被传递。

CHROME DevTool 显示了当您在浏览器中查看报告时 SSRS 实际呈现的内容。

MS似乎对不允许HTML注入或JS注入报告有非常强烈的感觉。(我已经尝试了所有我能想到的从网页导入 D3 图像的报告,但我无法做到)

我可以不情愿地告诉 MS,允许 JS 注入会导致大量错误报告。在较小程度上,我可以看到 HTML 插入是一个潜在的问题。

不幸的是,这导致了他们的“scrape and emulate”方法。对 HTML 格式的支持似乎很肤浅。

对于那些感兴趣的人,这里是我的 SSRS 的版本信息。SQL Server 是 2019 企业版。

在此处输入图像描述

于 2020-04-01T16:46:14.133 回答
0

您可以只在字段数据中包含标签并将文本框设置为解释 HTML 标签。SSRS 只识别标签的一个子集,但我认为是,而且绝对是。“SQL Chick”在这里有一篇文章。当然,您的报表查询必须足够聪明,才能知道将突出显示标签放在哪里。

于 2017-12-15T22:13:25.230 回答