【发布时间】:2018-01-02 12:31:30
【问题描述】:
我在标签中使用 p:columngroup。标题和值显示在网页中,但不会导出到 Excel。值已正确导出到 Excel,但导出后标题行为空白。
以下是 XHTML 代码:
<ui:composition template="../templates/pwpMenuLayoutTemplate.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:jc="http://jcoe.ford.com/jsfcore"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:metadata>
<jc:preRenderView bean="#{profileCreationBean}" pageTitle="" />
</f:metadata>
<ui:define name="windowTitle">#{bundle['label.menu.attendance.summary.clockinout']}</ui:define>
<h:head>
<h:outputStylesheet library="css" name="styles.app.css" />
</h:head>
<ui:define name="content">
<h:form id="asmReportForm" prependId="false">
<h1><h:outputFormat style="font-family: AntennaCond" value="#{bundle['label.menu.attendance.summary.clockinout']}">
</h:outputFormat></h1>
<p:messages id="messages" globalOnly="true" />
<h:commandLink
value="#{bundle['lable.dataExporter.exportExcel']}"
styleClass="excel-link" width="50" height="50">
<p:dataExporter target="clockinoutid" type="xls"
fileName="ClockinOutReport">
</p:dataExporter>
</h:commandLink>
<p:dataTable var="emp" id="clockinoutid" value="#{clockinOutReportBean.listEmpBO1}" >
<p:columnGroup type="header">
<p:row>
<p:column style="width:50px" rowspan="2">
<f:facet name="header">
<h:outputText value="GPID" />
</f:facet>
</p:column>
<p:column style="width:100px" rowspan="2">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
</p:column>
<p:column style="width:50px" rowspan="2" >
<f:facet name="header">
<h:outputText value="CDSID" />
</f:facet>
</p:column>
<p:column style="width:50px" rowspan="2" >
<f:facet name="header">
<h:outputText value="Designation" />
</f:facet>
</p:column>
<c:forEach items="#{clockinOutReportBean.dates}" var="id">
<p:column style="width:100px" colspan="2" >
<f:facet name="header">
<h:outputText value="#{id}" />
</f:facet>
</p:column>
</c:forEach>
<p:column style="width:50px" rowspan="2">
<f:facet name="header">
<h:outputText value="Team Leader" />
</f:facet>
</p:column>
<p:column style="width:50px" rowspan="2">
<f:facet name="header">
<h:outputText value="Process Coach" />
</f:facet>
</p:column>
<p:column style="width:50px" rowspan="2">
<f:facet name="header">
<h:outputText value="Team Manager" />
</f:facet>
</p:column>
<p:column style="width:50px" rowspan="2" >
<f:facet name="header">
<h:outputText value="Area Manager" />
</f:facet>
</p:column>
<p:column style="width:150px" colspan = "#{clockinOutReportBean.leavecount}">
<f:facet name="header">
<h:outputText value="Leaves" />
</f:facet>
</p:column>
</p:row>
<p:row>
<c:forEach items="#{clockinOutReportBean.dates}" var="id">
<p:column style="width:25px" rowspan="1" >
<f:facet name="header">
<h:outputText value="In" />
</f:facet>
</p:column>
<p:column style="width:25px" rowspan="1" >
<f:facet name="header">
<h:outputText value="Out" />
</f:facet>
</p:column>
</c:forEach>
<c:forEach items="#{clockinOutReportBean.leaveNames}" var="id">
<p:column style="width:25px" rowspan="1" >
<f:facet name="header">
<h:outputText value="#{id}" />
</f:facet>
</p:column>
</c:forEach>
</p:row>
</p:columnGroup>
<p:column>
<h:outputText value="#{emp.gpid}" />
</p:column>
<p:column>
<h:outputText value="#{emp.name}" />
</p:column>
<p:column>
<h:outputText value="#{emp.cdsid}" />
</p:column>
<p:column>
<h:outputText value="#{emp.empPositionTitle}" />
</p:column>
<c:forEach items="#{clockinOutReportBean.dates}" var="id">
<p:column>
<h:outputText value="#{emp.swipelist[id].swipeinTime}" />
</p:column>
<p:column>
<h:outputText value="#{emp.swipelist[id].swipeoutTime}" />
</p:column>
</c:forEach>
<p:column>
<h:outputText value="#{emp.teamLeader}" />
</p:column>
<p:column>
<h:outputText value="#{emp.processCoach}" />
</p:column>
<p:column>
<h:outputText value="#{emp.teamManager}" />
</p:column>
<p:column>
<h:outputText value="#{emp.areaManager}" />
</p:column>
<p:columns var="id" value="#{clockinOutReportBean.leaveNames}">
<h:outputText value="#{emp.leaveList[id].value}" />
</p:columns>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
所有数据都正确导出。但是在excel中看不到标题。有人可以帮忙吗?
【问题讨论】:
-
欢迎来到
StackOverflow,请不要只是复制粘贴整个代码。改为创建MVCE。 -
当您创建minimal reproducible example 时,您可能会遇到问题,因为标题是在primefaces.org/showcase/ui/data/dataexporter/basic.xhtml 上导出的
-
我尝试了 n 次来解决这个问题。但标题没有被导出
-
当您不使用列组时,它们是否会被导出?
标签: jsf primefaces