dynamicreports:java快速报表组件-mile米乐体育
本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!
dynamicreports是一款相当敏捷的java报表组件,并且是完全免费开源的。和之前介绍的jfreechart不同,dynamicreports是报表和可视化图表相结合的,可以更加直观地展现和统计数据。dynamicreports是对jasperreports的扩展,完全可以不用专门的设计器来设计。
dynamicreports的特点
- 使用非常方便
- 可继承的报表设计
- 无需可视化设计工具
- 可混合动态报表和静态报表
dynamicreports的使用方法
这里我们以maven项目为例,你可以在项目中加入以下xml文件:
net.sourceforge.dynamicreports
dynamicreports-core
3.0.4
mysql
mysql-connector-java
5.1.22
java代码如下:
public class simplereportdemo {
private static connection getconn() throws classnotfoundexception, sqlexception{
class.forname(“com.mysql.jdbc.driver”);
return(connection) drivermanager.getconnection(“jdbc:mysql://localhost/database”, “username”, “password”);
}public static void buildreport(connection conn){
jasperreportbuilder report=dynamicreports.report();//创建空报表
//样式
stylebuilder boldstl=dynamicreports.stl.style().bold();
stylebuilder boldcenteredstl=dynamicreports.stl.style(boldstl).sethorizontalalignment(horizontalalignment.center);
stylebuilder titlestl=dynamicreports.stl.style(boldcenteredstl).setfontsize(16);
stylebuilder columntitlestl=dynamicreports.stl.style(boldcenteredstl).setborder(dynamicreports.stl.pen1point())
.setbackgroundcolor(color.light_gray);
report.columns(columns.column(“id”, “id”, datatypes.integertype()).
sethorizontalalignment(horizontalalignment.center),//列
columns.column(“手机号段”, “code”, datatypes.stringtype()),
columns.column(“运营商”,”service”,datatypes.stringtype()),
columns.column(“省份”,”province”,datatypes.stringtype()),
columns.column(“城市”,”city”,datatypes.stringtype()),
columns.column(“品牌”,”type”,datatypes.stringtype()))
.setcolumntitlestyle(columntitlestl)
.sethighlightdetailevenrows(true)
.title(components.text(“手机号段”).setstyle(titlestl))//标题
.pagefooter(components.pagexofy().setstyle(boldcenteredstl))//页角
.setdatasource(“select * from codesubinfo limit 20″, conn);//数据源
try {
//显示报表
report.show();
//生成pdf文件
//report.topdf(new fileoutputstream(“d:/test.pdf”));
} catch (drexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}public static void main(string orgs[]){
try {
connection conn=getconn();
buildreport(conn);
} catch (classnotfoundexception e) {
// todo auto-generated catch block
e.printstacktrace();
} catch (sqlexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}
dynamicreports作为一款java报表和图表生成类库,其小巧和简单是一大亮点。
软件mile米乐体育首页 软件文档 软件下载
本文链接:http://www.codeceo.com/article/dynamicreports-java.html
本文作者:码农网 – 小峰
[ 原创作品,转载必须在正文中标注并保留原文链接和作者等信息。]