我有<p:dataTable>
:
<p:dataTable id="contracttblenone" var="contract" value="#{reportController.listcontract}" rowKey="#{contract.id}" paginator="true" rows="10" paginatorPosition="bottom" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" resizableColumns="true" emptyMessage="">
<p:column>
<f:facet name="header">
<h:outputText value="№"/>
</f:facet>
<h:outputText value="#{contract.id}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Firma Ad?"/>
</f:facet>
<h:outputText value="#{contract.name}"/>
</p:column>
<p:columns width="60" value="#{contract.liscolumn}" var="column">
<f:facet name="header">
<h:outputText value=" #{column.header} "/>
</f:facet>
<h:outputText value=" #{column.property} " />
</p:columns>
<f:facet name="header">
<h:outputText value="Sirket Sozlesmeler"/>
</f:facet>
</p:dataTable>
这是我的commandLink:
<h:commandLink>
<p:graphicImage value="../img/xls.png" />
<p:dataExporter type="xls" target=":formreport:contracttblenone"
fileName="report" />
</h:commandLink>
以下是dataTable的外观
但是导出的xls是不同的。它正在修改所有的rowas,因为最后一个是来自excel的snaphsot:
答案 0 :(得分:0)
我在使用primeface的exporttoExcel功能时也遇到了一些问题。我在stackoverflow和primefacesForums上搜索了很多但只是知道它是一个与primefaces相关的版本问题。通过我自己创建的函数的方式是现在完美地工作,也可以根据导出到其他格式进行修改。
<p:commandLink id="back" value="Export to Excel" action="#{agendaBean.exportToExl}" immediate="true"
ajax="false" style="color: #086A87;" ></p:commandLink>
点击链接后,在bean中调用了exportToExl方法,该方法具有以下内容。
public String exportToExl() {
ExportToExcel expExlBean = new ExportToExcel();
List<String> columnNames = new ArrayList<String>();
columnNames.add("Agenda ID");
columnNames.add("Matter");
columnNames.add("Item");
columnNames.add("OrderNo");
columnNames.add("AccessPrivilegeString");
columnNames.add("DocumentNameDisplay");
columnNames.add("DocumentFolderPath");
List<String> columnType = new ArrayList<String>();
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
columnType.add(FrameWorkConstants.DO_NOT_FORMAT);
String companyFolderPath = new AgendaIMPL()
.getCompanyFolderPath(meetingID);
if (agendaList != null) {
for (int i = 0; i < agendaList.size(); i++) {
agendaList.get(i).setDocumentFolderPath(companyFolderPath);
}
}
List expList = agendaList;
if (expList == null || expList.isEmpty()) {
ResourceBundle rb = ResourceBundle
.getBundle("resources.error1");
if (rb != null) {
Utils.addMessage(rb.getString("34").trim(),
FacesMessage.SEVERITY_ERROR);
return null;
}
}
String strVOName = "com.ultimatix.boardAdmin.vo.AgendaVO";
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) fc
.getExternalContext().getResponse();
String flagStart = FrameWorkConstants.SINGLE;
expExlBean.exportToExcel(columnNames, columnType, response,
expList, strVOName, flagStart);
fc.responseComplete();
return null;
}
此处,AgendaList是您在数据表中使用的列表,用于填充您要在Excel工作表中打印的行。
让我知道你感到更担心的问题。