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

时间:2015-08-13 10:45:24

标签: html css sql-server reporting-services ssrs-2012

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

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

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

在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>

1 个答案:

答案 0 :(得分:3)

我们可以通过选择&#39; HTML-Interpret html标签作为样式来显示ssrs中的html内容。出现在占位符属性中。

但是,您的HTML代码中存在的大多数样式都不受SSRS支持。 SSRS仅支持少量html标签和CSS样式。 你可以在这个链接中找到它们。 https://msdn.microsoft.com/en-us/library/ff519562.aspx