您的位置 首页 java

Java开源报表生成工具(JasperReports)开发总结(一)

添加封面

在Title上单击鼠标右键,选择Maximize Band Height,即将Title设置成最大高度,独占一页。然后我们就可以在Title里设置我们想要的封面内容了。

封面页不显示Page Footer

只有当页码大于1时才显示第N页,否则显示空字符串。

 $V{PAGE_NUMBER} > 1 ? "第" + $V{PAGE_NUMBER} + "页" : ""  

TextField内容高度不固定

当TextField展示内容的高度不固定时,需要将Text Adjust的值设置成StretchHeight。

显示当前页&总页数

拖动一个Text Field组件至内容区目标位置,设置Text Field组件的Expression属性为$V{PAGE_NUMBER},当Text Field组件的Evaluation Time属性值为Now时表示是当前页数,当Text Field组件的Evaluation Time属性值为Report时表示是总页数。

表格组件自动生成序号

序号单元格内的Text Field的表达式设置为$V{REPORT_COUNT}。

样式复用

样式复用步骤:

1、在Styles下创建需要复用的样式; 2、将组件拖到内容区,然后在Appearance下设置组件的Style为上一步创建的样式。

柱状图数据源设置

  • Dataset:barChartDataset
  • Increment on:None
  • Reset on:Report
  • Use a JRDatasource Expression
  • new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{dataList})

其中,barChartDataset为创建的数据集,变量dataList的类型为 java .util.List。

展示Base64格式图片

将Image组件的Expression属性的值设置为net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode(“base64_string_content”)),其中base64_string_content是将图片转成Base64字符串后的内容。

附:

将图片转成Base64字符串的一种实现方式:

 import cn.hutool.core.img.ImgUtil;
import  javax .imageio.ImageIO;
// ...
String content = ImgUtil.toBase64(ImageIO.read(new  File ("image_file_path")), "jpg");  

设置纸张格式

在Outline视图中选中报表根节点,在Properties视图中点击Edit Page Format,在弹出的对话框里,我们可以设置纸张的上边距、下边距、左边距、右边距、高度、宽度、单位、打印顺序。

文章来源:智云一二三科技

文章标题:Java开源报表生成工具(JasperReports)开发总结(一)

文章地址:https://www.zhihuclub.com/170539.shtml

关于作者: 智云科技

热门文章

网站地图