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