
jasperreports是一款基于Java编写的开源报表平台,这个报表的使用数据可以来自任何类别的数据源,并且能够够生成像素级的文档,如果你应该一款开源的还用的报表生成工具,那么这款jasperreports将是比较不错的选取,你可以打印出诸多问的哪个格式,包括HTML、PDF、Excel等等。而且硬件的报告模板可以以iReport之类的软件轻松制作,只要客户将报告存储为XML格式,就能够轻松的使用jasperreports进行阅读jasperreport下载,然后还可以编译成.jasper档。
一、新建报表
1、点击文件-new。

2、选择一个模版,【Openthis Template】。

3、通过【Browse】选择文件保存位置,并核对报表名称【Report name】

4、完成报表的新建。

二、创建Database Sources
1、点击【ReportDatasources】图标

2、点击右边的new。
![]()

3、选择一个datasourcetype,这里选【Database JDBC connection】。

4、填写连续的相关信息,并保存。

5、勾选默认Datasources,并关闭窗口

一,创建简单的jrxml文件

以上是一个简单的JRXML文件,实际上就是一个标准的XML文件,是根元素,表示静态的数据jasperreport下载,定义了的位置和长度,定义了实际的静态数据。
二,把JRXML文件解析成jasper文件,文件流或JasperReport对象(根据实际状况)
1.建立一个WEB工程,再在WEBROOT目录下制定一个目录report
2.使用JasperCompileManager里面的方式解析JRXML文件成jasper文件,文件流或JasperReport对象
把JRXML文件parse,再complie成jasper文件

JasperCompileManager.compileReportToFile("WebRoot/report/jasperreports_demo.jrxml", "WebRoot/report/langhua.jasper");
或者生成JasperReport对象
public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")
或者以流的方式生成
public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)
当然JasperCompileManager也可以把Jasper文件做成JRXML的(包括JRXML流,都是静太的方式)
writeReportToXmlStream
writeReportToXmlFile
三,有了JasperReport对象,文件流或jasper文件然后,就可以用JasperFillManager生成JasperPrint对象,jrprint文件,jrprint文件流
如下
生成JasperPrint 对象
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)
生成其它
//生成文件

public static void fillReportToFile(
String sourceFileName,
String destFileName,
Map parameters,
Connection connection
)
//文件流
public static void fillReportToStream(
JasperReport jasperReport,
OutputStream outputStream,
Map parameters,
Connection connection
)
第四步,使用JasperExportManager导出或显示

JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
//还有这些方法的
完整的例子
JasperReport jasperReport;
JasperPrint jasperPrint;
try{
jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");
jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
}
catch (JRException e){
e.printStackTrace();
}
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-128187-1.html
所以盲目乐观要倒霉
做好开打做准备
还有的多了
超级好看