1. 简单段落文本报表
//标题样式StyleBuilder titleStyle = DynamicReports.stl.style().setHorizontalTextAlignment(HorizontalTextAlignment.CENTER)//设置对齐方式.setFontSize(50)//设置字体.setBackgroundColor(Color.CYAN);//设置背景颜色//段落样式StyleBuilder paragraphStyle = DynamicReports.stl.style().setFontSize(30)//设置字体.setFirstLineIndent(60);//设置首行缩进//标题文本TextFieldBuilder<String> titleText = DynamicReports.cmp.text("标题").setStyle(titleStyle);//设置样式//段落文本TextFieldBuilder<String> paragraphText = DynamicReports.cmp.text("段落文本段落文本段落文本段落文本段落文本段落文本段落文本").setStyle(paragraphStyle);//设置样式JasperReportBuilder report = DynamicReports.report();report.title(titleText)//设置报表标题.summary(paragraphText, paragraphText);//添加段落//输出报表,可输出图片、pdf、excel、word,csv等report.toImage(new FileOutputStream("D:\\demo\\img\\dynamicreports\\" + System.currentTimeMillis() + ".jpg"), ImageType.JPG);
2. 简单表格报表
//表列标题样式StyleBuilder columnTitleStyle = DynamicReports.stl.style().setHorizontalTextAlignment(HorizontalTextAlignment.CENTER)//设置对齐方式.setFontSize(30)//设置字体.setBackgroundColor(Color.GRAY);//设置背景颜色//表列样式StyleBuilder columnStyle = DynamicReports.stl.style().setHorizontalTextAlignment(HorizontalTextAlignment.CENTER)//设置对齐方式.setFontSize(30)//设置字体.setBackgroundColor(Color.LIGHT_GRAY);//设置背景颜色//数据配置,可直接使用Collection<?>、数据库连接和查询语句等DRDataSource dataSource = new DRDataSource("f1", "f2");dataSource.add("v1", "v2");dataSource.add("v1", "v2");JasperReportBuilder report = DynamicReports.report();report.title(DynamicReports.cmp.text("标题")).columns(DynamicReports.col.column("列一", "f1", DataTypes.stringType()))//配置表格列.columns(DynamicReports.col.column("列二", "f2", DataTypes.stringType()))//配置表格列.setColumnStyle(columnStyle)//配置表格列样式.setColumnTitleStyle(columnTitleStyle)//配置表格列标题样式.setDataSource(dataSource);//配置表格数据//输出报表,可输出图片、pdf、excel、word,csv等report.toImage(new FileOutputStream("D:\\demo\\img\\dynamicreports\\" + System.currentTimeMillis() + ".jpg"), ImageType.JPG);
3. 简单折线统计表报表
DRDataSource dataSource = new DRDataSource("month", "year2023", "year2024");dataSource.add("1月", 350, 200);dataSource.add("2月", 300, 250);dataSource.add("3月", 200, 350);dataSource.add("4月", 350, 300);dataSource.add("5月", 300, 250);dataSource.add("6月", 450, 200);LineChartBuilder lineChart = Charts.lineChart().setTitle("图表标题")//设置标题.setTitleColor(Color.BLUE)//设置标题颜色.setCategory(Columns.column("月份", "month", DataTypes.stringType()))//配置类别.series(Charts.serie(Columns.column("2023年", "year2023", DataTypes.integerType())))//配置系列.series(Charts.serie(Columns.column("2024年", "year2024", DataTypes.integerType())))//配置系列.setShowValues(true)//配置是否显示数值.setDataSource(dataSource);//配置数据JasperReportBuilder report = DynamicReports.report();report.title(DynamicReports.cmp.text("标题")).summary(lineChart);//配置折线图//输出报表,可输出图片、pdf、excel、word,csv等report.toImage(new FileOutputStream("D:\\demo\\img\\dynamicreports\\" + System.currentTimeMillis() + ".jpg"), ImageType.JPG);