当前位置: 首页 > 后端技术 > Java

Jaspersoft使用教程

时间:2023-04-01 22:56:24 Java

介绍Jaspersoft:这是一款基于Eclipse软件开发的图形化报表设计工具。快速启动创建项目和模板创建项目选择项目类型输入项目名称创建模板选择模型模板名称项目目录结构DisplayOutLineElementListBasicElements模板参数(常用)ReportName:模板名称,注意如果复制模板文件,这个地方没有修改。Description:模板描述,这个模板文件是干什么的,起到注释的作用。Language:有三种Java|时髦|javascript,这里指定报表表达式使用的语言。Imports:导入其他包,自定义,或第三方FormatFactoryClass:Translation(指定实现与此报表一起使用的接口的类的名称。如果省略,将创建一个实例)当没有数据类型时:(打印时当报表数据源中没有数据时,即数据源为空时)null:默认,不选中。无页:不打印数据。空白页:返回空白页。AllSectionsNoDetail:打印除Detail之外的所有页面。NoDataSection:打印出没有数据的Band。报表属性说明新页面上的标题指示TilteBand在单个页面上打印。SummaryOnANewPage表示摘要打印在一页上。SummaryWithPageHeaderAndFooter表示在摘要的最后一页上,它还显示页眉和页脚。FloatColumnFooter在最后一页,ColumnFoot(列脚)是否紧挨着最后一个默认为空。空:空。Key:输出键Error:错误,异常。Scriptlet类:(网上百度)自定义scriptlet,可以自定义生成报表时的一些行为。ResourceBundle:资源绑定,报表使用的资源文件。DefaultDataAdapter:默认的数据源,这里可以选择数据源配置在哪里_数据源配置页面格式:报表格式SimplereportnewtemplateretainsTitleandDetail1配置主表中的数据源和queryset如图图聚合函数运算变量表达式的作用主报表和子报表传参主报表配置为什么要用主报表和子报表?因为Detail1代表的是一条数据,当需要展示一对多的样式时(要求居中垂直),只有一个报表是做不到的。这时候使用子报表组件是解决方案之一,但是子报表在编译的时候也会被编译。.StyleConfigurationConfigureDataSource子报表配置Style配置只需要让Detail按照报表的格式来设置,并且让Detail的宽高和里面的元素大小保持一致即可。创建参数需要和主报表传过来的参数一致。报告中的参数将在后面介绍如何设置它们。把子报表配置放在前面是因为拖拽子报表的时候需要选择已有的模板。配置数据源和查询条件在OutLine中右击当前报表,选择DataSet和Query...选项预览在主报表中配置SubReport组件将SubReport组件拖放到主报表中,选择文件,选择同样的连接,设置参数细节调整如果主表中的表格高度无法匹配子报表中的数据,则需要手动设置主表单元格的参数1.1改变PositionType1.2改变StretchType如主报表表格动态高度设置所示上传报表注意事项目前需要对主子报表进行打包压缩成zip格式,压缩包中需要有一个xml文件来描述主、子报表的关系。示例如下合并行内容的方案二:使用CrossTable组件使用crosstable需要提前设计好表格的样式(需要显示多少个属性,显示在哪里)CrossTab需要在BandofSummry中使用sql语句查询时放置一个附加字段selectuname,itemname,insure,insurepor,opermoney,extramoney,opermorate,1afrominsurewhereopermoney>$P{condition}orderbyuname设置横列有extra,注意是否需要total设置竖列显示多少属性设置交叉值使用垂直列的其中一个属性设置Cloumn组的高度设置高度为0px设置水平居中和垂直居中合并行:取消属性PrintRepeatedValues(不受到推崇的)。这个解决方案只是提供一种思路。推荐使用子报表或交叉表组件实现行的合并报表样式配置。所有需要合并的都会显示在最左边,属性设置为PrintPepeatedValues此项不勾选添加一个Line组件。由于左边会取消重复行的打印,所以这时候左边会有一部分除了第一行,所以需要添加一个Line组件,并设置位置和大小为float和ContainerBottom使用Table组件拖拽Table组件配置数据源右击DataSet1,同样在主报表中设置数据源。合并单元格详情调整表格组件的详情不要超过主报表的高度,否则在设置变量变量进行聚合操作和将表达式转换为数值类型时会报错,否则可能无法生效直方图和饼图Histogram使用Chart组件,选择BarChart可以设置四维参数Series,Value,CategoryandLabel类似于常用统计的highchart和echart假设我要统计1991年到2021年各行业的GDP,Value是GDP具体值,类别指年份[1991~2021],系列指第一产业到第三产业。注意:一般来说,标签不需要关注。如果只显示最后一个值,则将Label和Category设置为相同。注意:value为Long、Double等数值类型,否则预览时会出错。创建DataSet并传递参数在上一步中点击DataSet中的参数设置参数。您需要将参数传递给当前的SubDataSet,该参数可以是MainDataSet中的Fields中的属性之一。如果是单柱形图,则不需要Series,Properties中的ShowLegend设置为false。饼图使用Chart组件,选择PieChart设置Series,Key,Lable,Value设置DataSet,直方图根据需要传参一定要设置图表的字体,当前电脑和服务器支持的字体不一致,需要手动设置字体。报表平台上传模板文件,查看是否有对应的数据源。如果没有,需要在新建报表管理中上传实例化预览。在SpringBoot中集成Jaspersoft。新建一个SpringBoot工程,导入依赖添加模板的静态资源。生成pdf时可能会出现乱码,需要添加字体静态资源。在使用Jaspersoft软件的过程中,还需要设置字体,将字体文件添加到字体库,修改模板格式,调用export方法生成html或pdf