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

}

}

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐