Java免费开源快速报表组件DynamicReports介绍

  DynamicReports是一款相当敏捷的java报表组件,并且是完全免费开源的。和之前介绍的JFreeChart不同,DynamicReports是报表和可视化图表相结合的,可以更加直观地展现和统计数据。DynamicReports是对JasperReports的扩展,完全可以不用专门的设计器来设计。



DynamicReports的特点
  • 使用非常方便
  • 可继承的报表设计
  • 无需可视化设计工具
  • 可混合动态报表和静态报表

DynamicReports的使用方法 这里我们以MAVEN项目为例,你可以在项目中加入以下XML文件:
  1. <dependency>
  2. < groupId>net.sourceforge.dynamicreports</groupId>
  3. < artifactId>dynamicreports-core</artifactId>
  4. < version>3.0.4</version>
  5. < /dependency>
  6. < dependency>
  7. < groupId>mysql</groupId>
  8. < artifactId>mysql-connector-java</artifactId>
  9. < version>5.1.22</version>
  10. < /dependency>
复制代码


Java代码如下:
  1. public class SimpleReportDemo {

  2. private static Connection getConn() throws ClassNotFoundException, SQLException{
  3. Class.forName(“com.mysql.jdbc.Driver”);
  4. return(Connection) DriverManager.getConnection(“jdbc:mysql://localhost/database”, “username”, “password”);
  5. }

  6. public static void buildReport(Connection conn){
  7. JasperReportBuilder report=DynamicReports.report();//创建空报表
  8. //样式
  9. StyleBuilder boldStl=DynamicReports.stl.style().bold();
  10. StyleBuilder boldCenteredStl=DynamicReports.stl.style(boldStl).setHorizontalAlignment(HorizontalAlignment.CENTER);
  11. StyleBuilder titleStl=DynamicReports.stl.style(boldCenteredStl).setFontSize(16);
  12. StyleBuilder columnTitleStl=DynamicReports.stl.style(boldCenteredStl).setBorder(DynamicReports.stl.pen1Point())
  13. .setBackgroundColor(Color.LIGHT_GRAY);
  14. report.columns(Columns.column(“ID”, “id”, DataTypes.integerType()).
  15. setHorizontalAlignment(HorizontalAlignment.CENTER),//列
  16. Columns.column(“手机号段”, “code”, DataTypes.stringType()),
  17. Columns.column(“运营商”,”service”,DataTypes.stringType()),
  18. Columns.column(“省份”,”province”,DataTypes.stringType()),
  19. Columns.column(“城市”,”city”,DataTypes.stringType()),
  20. Columns.column(“品牌”,”type”,DataTypes.stringType()))
  21. .setColumnTitleStyle(columnTitleStl)
  22. .setHighlightDetailEvenRows(true)
  23. .title(Components.text(“手机号段”).setStyle(titleStl))//标题
  24. .pageFooter(Components.pageXofY().setStyle(boldCenteredStl))//页角
  25. .setDataSource(“select * from codesubinfo limit 20″, conn);//数据源
  26. try {
  27. //显示报表
  28. report.show();
  29. //生成PDF文件
  30. //report.toPdf(new FileOutputStream(“D:/test.pdf”));
  31. } catch (DRException e) {
  32. // TODO Auto-generated catch block
  33. e.printStackTrace();
  34. }
  35. }

  36. public static void main(String orgs[]){
  37. try {
  38. Connection conn=getConn();
  39. buildReport(conn);
  40. } catch (ClassNotFoundException e) {
  41. // TODO Auto-generated catch block
  42. e.printStackTrace();
  43. } catch (SQLException e) {
  44. // TODO Auto-generated catch block
  45. e.printStackTrace();
  46. }
  47. }
复制代码
DynamicReports作为一款Java报表和图表生成类库,其小巧和简单是一大亮点。 (文章来源 : http://www.nei-mao.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值