我将数据从p:dataTable导出到excel文件中,并且我使用<以特殊方式格式化其中一列中的数据br>标签
这是布局: description http://img560.imageshack.us/img560/9922/descriptionhidden.jpg
问题是当我导出表时,< br>标签打印到excel文档中,如下所示:
Excel description http://img705.imageshack.us/img705/7051/exceldeshidden.jpg
我正在使用的代码:
<p:column sortBy="#{serviceLevel.titleAndDescription}">
<f:facet name="header">Description: </f:facet>
<h:outputText style="font-weight:bold" value="Title: <br />" escape = "false"/>
<h:outputText value="#{serviceLevel.title} <br /> <br />" escape = "false"/>
<h:outputText style="font-weight:bold" value="Description: <br />" escape = "false"/>
<h:outputText value="#{serviceLevel.description}" />
</p:column>
我试过使用普通&lt; br&gt; outputText之间的标签产生了同样的效果。
我试过用&lt; p:spacer&gt;但出口商不支持它:(
我是如何知道如何为用户保留布局,而不是在导出的Excel文档中显示html标签?
我使用的是Primefaces 3.5。
答案 0 :(得分:1)
感谢SimonSez的建议,我设法在一些css的帮助下解决了这个问题。
以下是我使用的解决方案:
<p:column sortBy="#{serviceLevel.titleAndDescription}">
<f:facet name="header">Description: </f:facet>
<h:outputText style="font-weight:bold; display: block;" value="Title: " />
<h:outputText style="display: block;" value="#{serviceLevel.title}" />
<h:outputText style="font-weight:bold; display: block; padding-top: 20px;" value="Description: " />
<h:outputText value="#{serviceLevel.description}" />
</p:column>