在 SSRS 报告中显示 HTML 格式的内容

CAD*_*CAD 3 html css sql-server reporting-services ssrs-2012

我们需要使用 SSRS 为由一组以前的开发人员开发的现有 Web 应用程序开发一些报告。因此,在不触及应用程序代码的情况下,我们将使用 SSRS 开发报告解决方案,因为应用程序的后端已经是 MS SQL Server。

在开发报告时,由于原始开发人员遵循的做法,我们遇到了一个问题。这基本上是一个在线考试门户,开发人员将问题以 HTML 格式(如 、标签、样式表格式等)存储在数据库中。现在,当我们在 SSRS Web 报告(在表格中)中显示这些问题时,由于这些标签,它是不可读的。

因此我尝试使用单独的函数来摆脱这些标签并过滤掉实际问题。但这并不成功,因为我们丢失了问题的完整结构(项目符号、数字、换行符等)以及标签引用的所有图表。

在SSRS中,有没有一种方法可以开发一个类似报告的网页,它能够显示html格式的内容或显示表格单元格内的内容,根据各自的html格式进行格式化?否则我们可能需要花费大量的精力来手动开发 html 报告。

任何人都可以提供您的反馈/解决方案吗?

谢谢。


以下是从数据库中提取的示例数据。您可以使用实时 html 查看器来查看 HTML 中的实际问题 ( http://htmledit.squarefree.com )

You will be given a grid (<i>n&nbsp;</i>x&nbsp;<i>n, n </i>&gt;<i> </i>0), which has been divided on each unit <Br>
length both horizontally and vertically (see the image), and you have to print out how many perfect squares <Br> 
(can be any size) are there in the given grid. <i>n</i> is the side length of the grid.<div><br></div><div> Your program must read an integer (<i>n, 0 &lt; n &lt;= 100,000</i>)
<table class="MsoTableGrid" style="border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
 mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 5.4pt" border="1" cellpadding="0" cellspacing="0">
 <tbody><tr>
  <td style="width:27.9pt;border:solid windowtext 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="37">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">1</p>
  </td>
  <td style="width:31.5pt;border:solid windowtext 1.0pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
  solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="42">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">2</p>
  </td>
  <td style="width:27.0pt;border:solid windowtext 1.0pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
  solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="36">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">3</p>
  </td>
 </tr>
 <tr>
  <td style="width:27.9pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0in 5.4pt 0in 5.4pt" valign="top" width="37">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">4</p>
  </td>
  <td style="width:31.5pt;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="42">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">5</p>
  </td>
  <td style="width:27.0pt;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="36">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">6</p>
  </td>
 </tr>
 <tr>
  <td style="width:27.9pt;border:solid windowtext 1.0pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  padding:0in 5.4pt 0in 5.4pt" valign="top" width="37">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">7</p>
  </td>
  <td style="width:31.5pt;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="42">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">8</p>
  </td>
  <td style="width:27.0pt;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="36">
  <p class="MsoNormal" style="margin-bottom: 0.0001pt;">9</p>
  </td>
 </tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

小智 6

我们可以通过选择占位符属性中的“HTML-将 html 标签解释为样式”来在 SSRS 中显示 HTML 内容。

但 SSRS 不支持 HTML 代码中存在的大多数样式。

SSRS 仅支持少数 HTML 标签和 CSS 样式。您可以在此链接中找到它们。

https://learn.microsoft.com/en-us/sql/reporting-services/report-design/importing-html-into-a-report-report-builder-and-ssrs?view=sql-server-ver16