4

我正在将数据从 ap:dataTable 导出到一个 excel 文件中,并且我使用 <br> 标签以特殊方式格式化了其中一列中的数据。

这是布局: 描述

问题是当我导出表格时, <br> 标签被打印到 excel 文档中,如下所示:

Excel 说明

我现在使用的代码:

                <p:column sortBy="#{serviceLevel.titleAndDescription}">
                    <f:facet name="header">Description: </f:facet>
                    <h:outputText style="font-weight:bold" value="Title: &lt;br /&gt;" escape = "false"/>
                    <h:outputText value="#{serviceLevel.title} &lt;br /&gt; &lt;br /&gt;" escape = "false"/>
                    <h:outputText style="font-weight:bold" value="Description: &lt;br /&gt;" escape = "false"/>
                    <h:outputText value="#{serviceLevel.description}" />
                </p:column>

我尝试在 outputText 之间使用普通的 < br > 标签,效果相同。

我尝试使用 < p:spacer > 但导出器不支持它:(

关于如何为用户保留布局但不在导出的 excel 文档中显示 html 标签的任何想法?

我正在使用 Primefaces 3.5。

4

1 回答 1

2

感谢 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>
于 2013-03-01T10:27:37.183 回答