先看看设计的报表样式:
reportTitle是新添加的一个参数,而其他的id和name是通过数据源得到的Filed。IReport在设置参数的时候需要先在左边新建一个parameter,然后再把该parameter托到右边的设计栏中。
生成的XML文件为:
<?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="report3" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" 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"/>
<queryString>
<![CDATA[select * from t_blog;]]>
</queryString>
<field name="id" class="java.lang.Integer"/>
<field name="content" class="java.lang.String"/>
<field name="postTime" class="java.sql.Timestamp"/>
<field name="seenCount" class="java.lang.Integer"/>
<field name="title" class="java.lang.String"/>
<field name="blogStore" class="java.lang.Integer"/>
<field name="owner" class="java.lang.Integer"/>
<field name="sysCategory" class="java.lang.Integer"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="44" splitType="Stretch">
<staticText>
<reportElement x="227" y="12" width="100" height="20" forecolor="#FF0000"/>
<textElement textAlignment="Center">
<font size="13" isBold="true"/>
</textElement>
<text><![CDATA[标题]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="35" splitType="Stretch">
<staticText>
<reportElement x="227" y="15" width="100" height="20" forecolor="#FF0000"/>
<textElement textAlignment="Center">
<font size="13" isBold="true"/>
</textElement>
<text><![CDATA[页眉]]></text>
</staticText>
</band>
</pageHeader>
<columnHeader>
<band height="40" splitType="Stretch">
<staticText>
<reportElement x="70" y="2" width="100" height="20"/>
<textElement/>
<text><![CDATA[id]]></text>
</staticText>
<staticText>
<reportElement x="214" y="2" width="100" height="20"/>
<textElement/>
<text><![CDATA[title]]></text>
</staticText>
<staticText>
<reportElement x="373" y="2" width="100" height="20"/>
<textElement/>
<text><![CDATA[postTime]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="81" splitType="Stretch">
<textField>
<reportElement x="70" y="24" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="214" y="25" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{title}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="373" y="26" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{postTime}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="40" splitType="Stretch">
<staticText>
<reportElement x="227" y="10" width="100" height="20" forecolor="#FF0000"/>
<textElement textAlignment="Center">
<font size="13" isBold="true"/>
</textElement>
<text><![CDATA[相当于表尾]]></text>
</staticText>
</band>
</columnFooter>
<pageFooter>
<band height="43" splitType="Stretch">
<staticText>
<reportElement x="227" y="13" width="100" height="20" forecolor="#FF0000"/>
<textElement textAlignment="Center">
<font size="13" isBold="true"/>
</textElement>
<text><![CDATA[页脚]]></text>
</staticText>
</band>
</pageFooter>
<summary>
<band height="41" splitType="Stretch">
<staticText>
<reportElement x="227" y="10" width="100" height="20" forecolor="#FF0000"/>
<textElement textAlignment="Center">
<font size="13" isBold="true"/>
</textElement>
<text><![CDATA[用于存放一些统计信息的]]></text>
</staticText>
</band>
</summary>
</jasperReport>
JasperReport在生成报表的时候可以直接操作jrxml文件,然后通过Java代码编译为.jasper文件,也可以直接操作IReport编译好的.jasper文件,下面就是用的直接操作.jasper文件,注释掉的是操作jrxml文件的。JasperReport可以把生成的报表导出为多种格式,下面导出的是普通的HTML。JasperReport在往模版里面设置参数值,是提供一个Map进行参数传入的。
java代码:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
public class Test2 {
public static void main(String args[]) throws JRException, ClassNotFoundException, SQLException, FileNotFoundException {
String fileName = "E:\\reports\\report2.jrxml";//直接操作生成的jrxml文件
JasperReport jasperReport = null;
JasperPrint jasperPrint = null;
// jasperReport = JasperCompileManager.compileReport(fileName);//编译jrxml文件
InputStream inputStream = new FileInputStream("E:\\reports\\report2.jasper");
Map<String, Object> parameters = new HashMap<String, Object>();//传入参数
parameters.put("reportTitle", "我的第一个程序");
// jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, getConnection());
jasperPrint = JasperFillManager.fillReport(inputStream, parameters, getConnection());
JasperExportManager.exportReportToHtmlFile(jasperPrint, "first.html");
}
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/blog", "root", "root");
return conn;
}
}
导出的HTML预览界面:
- 大小: 15.1 KB
- 大小: 9.8 KB
分享到:
相关推荐
本文将深入探讨如何使用iReport生成一维码和二维码,以及涉及到的关键技术——Google的ZXing(Zebra Crossing)。 一、iReport简介 iReport是一款开源的Java Swing应用程序,专门用于设计基于JasperReports的报表。...
IReport和JasperReport是两个非常流行的Java报表工具,它们能够帮助开发者创建复杂、美观且功能丰富的报表。本篇将深入探讨如何利用IReport来实现子报表以及行合并的实例。 首先,IReport是一款基于GUI的报表设计...
1. 模板设计与编译:在iReport中设计报表模板后,通过jasperReport API编译成.jasper文件,以便程序运行时动态加载和生成报表。 2. 参数和变量:理解报表参数和变量的区别,学习如何传递参数并使用变量进行数据运算...
**JasperReport动态生成报表** JasperReport是一款强大的开源报表工具,主要用于生成各种复杂的静态和动态报表。它基于Java,可以很好地与Java应用程序、Web应用和企业级应用集成,提供丰富的报表设计和灵活的数据...
### IReport与JasperReport开发报表经验总结 在IT领域,报表工具的选择和使用对于数据分析、数据呈现至关重要。本文将基于“**IReport与JasperReport开发报表经验总结**”这一主题,对文档中提到的一些关键问题及其...
"JasperReport 与iReport 的配置与使用.mht"文件可能包含了关于图表制作的教程。IReport支持多种类型的图表,如柱状图、饼图、线图等。在报表中添加图表时,需要指定数据源、系列和值,还可以自定义颜色、标签、图例...
4. **运行报表**: 在Java应用中加载JasperReport模板,传入数据源,生成报表。 5. **导出报表**: 根据需要将生成的报表导出为不同格式,如PDF、Excel等。 总之,JasperReports和iReport为Java开发人员提供了强大的...
**JasperReports Result**:这份文档可能总结了使用JasperReport生成报表时可能出现的结果类型,包括打印、导出、交互式展示等。 **jasperreports 对大数据量报表的支持**:JasperReport支持大数据量的处理,包括...
在这个压缩包中,文件名"JasperReport"可能指的是整个项目的核心部分——JasperReport报表生成器。它可能包含了一系列的JasperReport模板(.jrxml文件)和相关的Java类,这些模板定义了报表的结构和样式,而Java类则...
这些资料可以帮助开发者快速上手,理解jasperReport的基本概念,如报表模板(.jrxml文件)、报表填充(filling a report)、以及如何在Java代码中调用jasperReport API来生成报表。 "对应所有jar包"意味着压缩包中...
本操作手册旨在为用户详细解读如何使用ireport与jasperreport工具进行报表设计与生成,以便在永泰决策分析系统中实现高效的数据可视化和业务洞察。通过ireport和jasperreport,用户可以创建复杂、灵活的报表,满足...
4. **生成报表**:在Struts2 Action中,使用JasperReport API加载.jrxml文件,填充数据,生成报表并返回到前端。 5. **展示报表**:在JSP页面上,接收并显示由Action传递过来的报表。 以上就是关于"Ireport4集成...
用户可以通过iReport设计报表模板,然后在JasperReport中使用这些模板生成实际的报表。 3. **Action Export to PDF**:这通常指的是在应用中导出报表为PDF格式的功能。PDF(Portable Document Format)是一种通用的...
**JasperReport——深度解析与应用指南** JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序中创建复杂的报表。作为一个基于纯Java的报表引擎,JasperReport能够处理多种数据源,包括数据库连接、...
《JasperReports 2.0.5:...总的来说,JasperReports 2.0.5是Java开发中生成专业报表的重要工具,结合iReport,可以让报表设计变得简单高效。无论是在企业级应用还是小型项目中,它都是处理数据展示和分析的强大武器。
10. **API使用**:通过实例代码,熟悉JasperReports提供的API,了解如何在Java程序中集成报表生成功能。 压缩包中的`jasperreports-6.4.3`文件很可能包含了JasperReports库的版本6.4.3,这将包含所需的jar文件和...
Jreport与JasperReport是两个在报表生成领域中广泛使用的工具,尤其在Java应用程序中。它们都是用于创建、设计和分发复杂报表的库,帮助企业快速构建数据可视化解决方案。 **Jreport** Jreport是一款企业级的报表...
除了通过iReport设计工具外,还可以通过编程方式生成报表。这通常涉及到加载设计好的.jrxml文件,填充数据模型,并调用JasperReports API来生成报表实例。这种方式适用于需要在应用程序中动态生成报表的情况。 ####...