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

Showing HTML formated content in a SSRS report

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

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

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

在 SSRS 中有没有一种方法可以开发像报告这样的网页,它能够显示这种 html 格式的内容或显示 table 单元格内的内容,根据各自的 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>

我们可以通过选择占位符属性中的 'HTML-Interpret html tags as styles' 在 ssrs 中显示 html 内容。

但是 SSRS 不支持 html 代码中的大多数样式。 SSRS 仅支持少数 html 标签和 CSS 样式。 您可以在 link 中找到它们。 https://msdn.microsoft.com/en-us/library/ff519562.aspx