`
hepx
  • 浏览: 149378 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JAVA报表神器DynamicReports

    博客分类:
  • java
阅读更多

DynamicReports是一款基于JasperReports免费开源的报表工具。

特色功能:允许创建动态报表,完全可以不用专门的设计器来设计;

可以非常快速地创建报表、生成文件、显示、打印或导出到其它许多流行的格式(PDF、Excel、Word)。

 

 MAVEN项目增加以下内容

  	<dependency>
  		<groupId>net.sourceforge.dynamicreports</groupId>
  		<artifactId>dynamicreports-core</artifactId>
  		<version>3.0.4</version>
  	</dependency>
  	<dependency>
  		<groupId>mysql</groupId>
  		<artifactId>mysql-connector-java</artifactId>
  		<version>5.1.22</version>
  	</dependency>

 例子:

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();
		}
	}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics