我正在使用jasper報告3.7.6。我有一個列表,我想要導出爲excel.I能夠將列表導出爲excel,但在我的excel中出現了許多隱藏的列和行。如何刪除這些隱藏的列和行?從jasper導出excel文件時出現空列
我的代碼是這樣的:
JasperPrint jasperPrint;
JRBeanCollectionDataSource beanCollectionDataSource=new JRBeanCollectionDataSource(lstScoreSheet);
String reportPath= FacesContext.getCurrentInstance().getExternalContext().getRealPath("/reports/[![enter image description here][1]][1]ScoreSheet.jasper");
jasperPrint=JasperFillManager.fillReport(reportPath, getParameters(batchYr),beanCollectionDataSource);
HttpServletResponse httpServletResponse1=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
httpServletResponse1.addHeader("Content-disposition", "attachment; filename=report.xls");
ServletOutputStream servletOutputStream=httpServletResponse1.getOutputStream();
JExcelApiExporter exporterXLS = new JExcelApiExporter();
exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, servletOutputStream);
exporterXLS.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
exporterXLS.exportReport();
這裏列A,C,E ....都是空的,隱藏的。我想刪除這些隱藏的列。
我JRXML代碼:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="ScoreSheet" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="3.897434200000008"/>
<property name="ireport.x" value="2104"/>
<property name="ireport.y" value="122"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property name="net.sf.jasperreports.export.xls.column.width" value="100"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
<property name="detectCellType" value="true"/>
<property name="onePagePerSheet" value="false"/>
<property name="whitePageBackground" value="false"/>
<property name="ignoreGraphics" value="false"/>
<property name="collapseRowSpan" value="true"/>
<property name="ignoreCellBorder" value="true"/>
<property name="fontSizeFixEnabled" value="true"/>
<property name="maximumRowsPerSheet" value="0"/>
<parameter name="batchYear" class="java.lang.String"/>
<parameter name="date" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="advanceAccHT1" class="java.lang.String">
<fieldDescription><![CDATA[advanceAccHT1]]></fieldDescription>
</field>
<field name="financialHT2" class="java.lang.String">
<fieldDescription><![CDATA[financialHT2]]></fieldDescription>
</field>
<field name="sn" class="java.lang.Integer">
<fieldDescription><![CDATA[sn]]></fieldDescription>
</field>
<field name="financialPT1" class="java.lang.String">
<fieldDescription><![CDATA[financialPT1]]></fieldDescription>
</field>
<field name="remarks" class="java.lang.String">
<fieldDescription><![CDATA[remarks]]></fieldDescription>
</field>
<field name="advanceAccHT2" class="java.lang.String">
<fieldDescription><![CDATA[advanceAccHT2]]></fieldDescription>
</field>
<field name="auditHT2" class="java.lang.String">
<fieldDescription><![CDATA[auditHT2]]></fieldDescription>
</field>
<field name="advanceAccPT1" class="java.lang.String">
<fieldDescription><![CDATA[advanceAccPT1]]></fieldDescription>
</field>
<field name="bcPT1" class="java.lang.String">
<fieldDescription><![CDATA[bcPT1]]></fieldDescription>
</field>
<field name="financialHT1" class="java.lang.String">
<fieldDescription><![CDATA[financialHT1]]></fieldDescription>
</field>
<field name="incomeHT2" class="java.lang.String">
<fieldDescription><![CDATA[incomeHT2]]></fieldDescription>
</field>
<field name="marketingPT1" class="java.lang.String">
<fieldDescription><![CDATA[marketingPT1]]></fieldDescription>
</field>
<field name="costHT2" class="java.lang.String">
<fieldDescription><![CDATA[costHT2]]></fieldDescription>
</field>
<field name="auditPT1" class="java.lang.String">
<fieldDescription><![CDATA[auditPT1]]></fieldDescription>
</field>
<field name="corporateHT1" class="java.lang.String">
<fieldDescription><![CDATA[corporateHT1]]></fieldDescription>
</field>
<field name="corporateHT2" class="java.lang.String">
<fieldDescription><![CDATA[corporateHT2]]></fieldDescription>
</field>
<field name="corporatePT1" class="java.lang.String">
<fieldDescription><![CDATA[corporatePT1]]></fieldDescription>
</field>
<field name="bcHT" class="java.lang.String">
<fieldDescription><![CDATA[bcHT]]></fieldDescription>
</field>
<field name="regNo" class="java.lang.String">
<fieldDescription><![CDATA[regNo]]></fieldDescription>
</field>
<field name="studentName" class="java.lang.String">
<fieldDescription><![CDATA[studentName]]></fieldDescription>
</field>
<field name="costHT1" class="java.lang.String">
<fieldDescription><![CDATA[costHT1]]></fieldDescription>
</field>
<field name="incomePT1" class="java.lang.String">
<fieldDescription><![CDATA[incomePT1]]></fieldDescription>
</field>
<field name="costPT1" class="java.lang.String">
<fieldDescription><![CDATA[costPT1]]></fieldDescription>
</field>
<field name="incomeHT1" class="java.lang.String">
<fieldDescription><![CDATA[incomeHT1]]></fieldDescription>
</field>
<field name="marketingHT" class="java.lang.String">
<fieldDescription><![CDATA[marketingHT]]></fieldDescription>
</field>
<field name="auditHT1" class="java.lang.String">
<fieldDescription><![CDATA[auditHT1]]></fieldDescription>
</field>
<field name="advanceAccPT2" class="java.lang.String">
<fieldDescription><![CDATA[advanceAccPT2]]></fieldDescription>
</field>
<field name="auditPT2" class="java.lang.String">
<fieldDescription><![CDATA[auditPT2]]></fieldDescription>
</field>
<field name="corporatePT2" class="java.lang.String">
<fieldDescription><![CDATA[corporatePT2]]></fieldDescription>
</field>
<field name="financialPT2" class="java.lang.String">
<fieldDescription><![CDATA[financialPT2]]></fieldDescription>
</field>
<field name="costPT2" class="java.lang.String">
<fieldDescription><![CDATA[costPT2]]></fieldDescription>
</field>
<field name="bcPT2" class="java.lang.String">
<fieldDescription><![CDATA[bcPT2]]></fieldDescription>
</field>
<field name="marketingPT2" class="java.lang.String">
<fieldDescription><![CDATA[marketingPT2]]></fieldDescription>
</field>
<field name="incomePT2" class="java.lang.String">
<fieldDescription><![CDATA[incomePT2]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="49">
<staticText>
<reportElement x="262" y="0" width="273" height="16"/>
<textElement textAlignment="Center">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[ABC School]]></text>
</staticText>
<staticText>
<reportElement x="364" y="30" width="71" height="17"/>
<textElement textAlignment="Center">
<font size="11" isBold="true"/>
</textElement>
</staticText>
<staticText>
<reportElement x="337" y="16" width="124" height="16"/>
<textElement textAlignment="Center">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Score Sheet]]></text>
</staticText>
</band>
</title>
<detail>
<band height="16" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="19" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.Integer"><![CDATA[$F{sn}==0?null:$F{sn}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="18" y="0" width="119" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{studentName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="136" y="0" width="49" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{regNo}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="184" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{advanceAccHT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="200" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{advanceAccHT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="217" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{advanceAccPT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="717" y="0" width="85" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{remarks}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="234" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{advanceAccPT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="251" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{auditHT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="268" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{auditHT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="284" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{auditPT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="300" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{auditPT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="316" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{corporateHT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="333" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{corporateHT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="350" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{corporatePT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="367" y="0" width="20" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{corporatePT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="386" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{financialHT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="403" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{financialHT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="420" y="0" width="19" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{financialPT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="438" y="0" width="21" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{financialPT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="458" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{costHT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="475" y="0" width="19" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{costHT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="493" y="0" width="19" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{costPT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="511" y="0" width="23" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{costPT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="533" y="0" width="21" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{bcHT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="553" y="0" width="21" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{bcPT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="573" y="0" width="22" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{bcPT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="594" y="0" width="20" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{marketingHT}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="613" y="0" width="20" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{marketingPT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="700" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{incomePT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="683" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{incomePT1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="666" y="0" width="18" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{incomeHT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="632" y="0" width="19" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{marketingPT2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="650" y="0" width="17" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{incomeHT1}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
修訂。
新問題:
您應該解決您的模板 –
可能重複:[JasperReports的 - xls文件代行和列是不正確顯示](http://stackoverflow.com/q/38853765/876298) –
你能更清楚地解釋我嗎? –