将报告导出为html格式

时间:2014-08-05 10:49:17

标签: java jasper-reports

我正在使用 JasperReports API 在浏览器上打印报告。我有很多格式可以导出报告,但主要是我关注我的HTML。我使用以下代码将报表导出为HTML:

JRExporter exporter = null;
exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
exporter.exportReport();

此代码打印输出如下('images'即使我的jrxml文件中没有):

sample report

由于 Eclipse 向我展示了JRExporter已被弃用,我做了一些研究,发现现在我们使用'Exporter'来导出。我试图在我的代码中使用Exporter来删除此错误,但无论如何我无法找到我可以将我的jasperPrint文件写入输出Stream。

新代码:

Exporter exporter = null;
exporter = new HtmlExporter();
  

http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/export/HtmlExporter.html#exportReportToWriter()

我在jrxml中的一些代码如下所示:

<title>
        <band height="79" splitType="Stretch">
            <staticText>
                <reportElement x="219" y="28" width="194" height="40" uuid="44028360-543f-4352-a028-9e262bb24347"/>
                <textElement>
                    <font size="24"/>
                </textElement>
                <text><![CDATA[Project Report]]></text>
            </staticText>
        </band>
    </title>
    <columnHeader>
        <band height="61" splitType="Stretch">
            <staticText>
                <reportElement x="119" y="41" width="100" height="20" uuid="1f6ca9e9-92d5-41e5-9e8d-cd6ede8bfa25"/>
                <text><![CDATA[Project Status]]></text>
            </staticText>
            <staticText>
                <reportElement x="0" y="41" width="100" height="20" uuid="6059b496-7ff9-4156-836b-f91436b8e79c"/>
                <text><![CDATA[Aldon Number]]></text>
            </staticText>
        </band>
    </columnHeader>

2 个答案:

答案 0 :(得分:1)

首先不要使用JRHtmlExporter()。它被弃用了。我在使用HtmlExporter()时获得了图像。然后我开始使用以下语句:

import net.sf.jasperreports.engine.export.HtmlExporter;
// ...
HtmlExporter exporter = new HtmlExporter();

我的HTML编码是

HtmlExporter exporter = new HtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream); 
exporter.exportReport(); 

答案 1 :(得分:0)

尝试使用JRXhtmlExporter();

JRExporter exporter = new JRXhtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
exporter.exportReport();