java使用ireport生成报表_JasperReport(3)——Java简单使用IReport生成的文件建立报表...

先看看设计的报表样式:

7f5ff38fb4b6fd61dd1b67e90143e6a9.png

reportTitle是新添加的一个参数,而其他的id和name是通过数据源得到的Filed。IReport在设置参数的时候需要先在左边新建一个parameter,然后再把该parameter托到右边的设计栏中。

生成的XML文件为:

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 parameters = new HashMap();//传入参数

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预览界面:

d4ab35f0cf5e0ed5d030883d6ac305e0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值