【发布时间】:2016-08-17 06:36:33
【问题描述】:
我正在使用 jasper 报告 3.7.6。我有一个要导出到 excel 的列表。我可以将列表导出到 excel 中,但是在我的 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>
更新。
新问题:
【问题讨论】:
-
你应该修复你的模板
-
你能解释清楚吗?
标签: jasper-reports export-to-excel