generated jasper report is not showing bar chart

烈酒焚心 提交于 2019-12-08 08:46:51

问题


I have a report controller having code:

@Controller
public class ReportsController {


@RequestMapping(value="report.htm",method=RequestMethod.GET)
        public String showReport() throws JRException{

                ... 
                InputStream reportStream = this.getClass().getResourceAsStream("/report.jrxml");                

                JRDataSource dataSource = new JRBeanCollectionDataSource(reportData);

                HashMap params = new HashMap();
                params.put("Title", "Report");

                JasperDesign jd = JRXmlLoader.load(reportStream);


                JasperReport jr = JasperCompileManager.compileReport(jd);

                JasperPrint jp = JasperFillManager.fillReport(jr, params, dataSource);

                JRHtmlExporter exporter = new JRHtmlExporter();

                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);

                //EXPORTING REPORT TO A FILE "myreport.html"
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/mywebapp/WEB-INF/jsps/reports/reportsOutput/myreport.html"); //--------statement (1)

                exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, false);
                exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, true);

                exporter.exportReport();

                return "report";
        }
}

In statement (1) I am exporting my generated report to a file myreport.html.

My report template file (report.jrxml) is:

<?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="report5" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <field name="count" class="java.lang.Integer"/>
    <field name="status" class="java.lang.String"/>
    <background>
        <band/>
    </background>
    <detail>
        <band height="343">
            <textField>
                <reportElement mode="Transparent" x="8" y="14" width="100" height="20"/>
                <textElement/>
                <textFieldExpression class="java.lang.Integer"><![CDATA[$F{count}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement mode="Transparent" x="267" y="14" width="100" height="20"/>
                <textElement/>
                <textFieldExpression class="java.lang.String"><![CDATA[$F{status}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement mode="Transparent" x="146" y="14" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[status]]></text>
            </staticText>
            <barChart>
                <chart>
                    <reportElement mode="Transparent" x="108" y="119" width="200" height="100"/>
                    <chartTitle/>
                    <chartSubtitle/>
                    <chartLegend/>
                </chart>
                <categoryDataset>
                    <categorySeries>
                        <seriesExpression><![CDATA[""]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{status}]]></categoryExpression>
                        <valueExpression><![CDATA[$F{count}]]></valueExpression>
                        <itemHyperlink/>
                    </categorySeries>
                </categoryDataset>
                <barPlot>
                    <plot/>
                </barPlot>
            </barChart>
        </band>
    </detail>
</jasperReport>

Problem is that my generated report in myreport.html is showing everything but does not show any bar chart, instead showing blank white space in place of chart.

Any suggestions?

EDIT:

Data to chart is provided by statement JasperPrint jp = JasperFillManager.fillReport(jr, params, dataSource); in the above code.

Moreover there is a folder generated, by jasper reports API, in the same dir in which there is my output file (myreport.html) lies as:

/mywebapp/WEB-INF/jsps/reports/reportsOutput/myreport.html (Output file)

/mywebapp/WEB-INF/jsps/reports/reportsOutput/myreport.html_files (generated folder)

This generated folder (myreport.html_files) contains generated chart images according to template and are correct but these chart images are not being shown up in the output file myreport.html along with other text output of report. Thanks...


回答1:


If there are bars of multiple colors, they will be displayed in a weaker and weaker shade. Export to PDF and you may see them



来源:https://stackoverflow.com/questions/9096733/generated-jasper-report-is-not-showing-bar-chart

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!