Jaspersoft-Element-Details-1

Jaspersoft 常用元素

本篇为 Jaspersoft 元素的一些解释

界面元素解释

名称 翻译 备注
Jrxml jaspersoft的编辑文件格式 一种XML文件格式,用于保存和共享为JasperReports库和使用它的应用程序(如JasperSoft Studio和JasperReports服务器)创建的报表。JRXML是一种开放格式,它使用XML标准精确定义报表的所有结构和配置。
Jasper jaspersoft的运行文件格式 JRXML模板编译生成的二进制文件,执行PDF报表打印的代码运行格式文件。
Title 标题面板 只在首页打印一次 ,报表面板
Detail 内容面板 详情,根据数据数量,自动循环输出,报表面板。
Column Header 行首面板 通常用来定义行的字段名称。每页都打印,报表面板。
Page Header 页首面板 每页都打印,报表面板。
Page Footer 页尾面板 每页都打印,报表面板。
Column Footer 行尾面板 可用来告知报表的一些参数,诸如页码等。每页都打印,报表面板。
Last Page Footer 最后页的页尾面板 只在最后页打印一次。
Palette 调色板 调色板包含三个部分:Basic Elements(基本元素),Composite Elements(复合元素,其他元素组合创建的元素), Components(组件,软件商业版中可用元素)。通过拖拽调色板中的三个部分的元素至报表各类面板中,实现元素在报表中的新增 。
Palette 调色板 调色板包含三个部分:Basic Elements(基本元素),Composite Elements(复合元素,其他元素组合创建的元素), Components(组件,软件商业版中可用元素)。通过拖拽调色板中的三个部分的元素至报表各类面板中,实现元素在报表中的新增 。
Composite Elements 复合元素 复合元素是一个或多个可以在报表中使用的预配置元素。你可以配置元素的大小、颜色或字体等属性,或创建具有复杂经常使用的表达式,然后将其另存为复合元素。复合元素不能包含基于数据集的元素,例如图表或交叉表。
Basic Elements 基本元素 报表的基本构造块是元素,一切都是通过元素创建的,元素可以包含文本、创建表格、显示图像等。
Note 备注 Basic Element里的元素,
Text Field 字段文本 Basic Element里的元素,动态文本字段允许您打印使用表达式创建的任意文本部分(或数字或日期)。
Static Text 静态文本 Basic Element里的元素,通常标题使用此格式。
Image 图片 Basic Element里的元素
Break 强制分页符 Basic Element里的元素
Rectangle 矩形 Basic Element里的元素
Ellipse 椭圆 Basic Element里的元素
Line 线条 Basic Element里的元素
Frame 框架 Basic Element里的元素,框架是一个矩形元素,可以包含其他元素,还可以选择在它们周围绘制边框。框架内的元素是相对于框架而不是相对于标注栏定位的,当移动框架时,框架中包含的所有元素都会一起移动。框架会自动拉伸以适合其内容。
Subreport 子报表 Basic Element里的元素
Barcode 条形码、二维码 Basic Element里的元素
Chart 图表 Basic Element里的元素
Properties 属性栏 元素属性分为多个类别,通过”属性”视图中的选项卡可见。可用的属性依赖于元素类型。类别包含以下几类:Appearance、Borders、Element、Inheritance、Hyperlink
Appearance 外观选项卡 外观选项卡允许您设置元素的位置、大小、颜色和文本样式。
Borders 边框选项卡 允许设置元素的填充和边框样式、颜色和宽度。
Text Field , Note,
Static Text,
Image,
and so on
元素名 允许设置评估时间以及特定于元素类型的属性。例如:静态文本选项卡允许您为字段定义不可更改的文本,并控制其外观;文本字段选项卡允许设置文本字段元素的格式和位置;图像选项卡允许您设置图像对齐、填充和缩放属性。
Inheritance 继承选项卡 会显示当前元素的基本属性(Element attributes),能够重置当前属性(Reset Elements Properties),会显示报表的默认属性(Default attributes),允许查看从其他级别继承的任何属性,并在可能时覆盖这些属性。
Horizontal Alignment 水平对齐位置 选项:CENTER(居中对齐)、LEFT(左对齐)、RIGHT(右对齐)、JUSTIFIED(两端对齐)
Bold 字体加粗 选项:True(加粗)、Flase(不加粗)
Box Top/Bottom/Left/Right
Line Style
上/下/左/右边框线类型 选项:Solid(实线)、Dashed(虚线)、Dotted(点线)、Double(双实线)
Box Top/Bottom/Left/Right
Line Width
上/下/左/右边框线宽度
Backcolor 背景色
Hyperlink 超链接选项卡 允许在元素中定义图像、文本字段和图表的超链接。
java. Lang.String 常量字符串
Undo 撤消
Redo 恢复
Outline 大纲视图 1、包含了当前编辑的报表的所有基础信息,包括一些固定区域的样式(Style)、报表参数(Parameters)、字段(Fields)、变量(Variables)、直接链接((Title)标题面板、(Detail)内容面板等)等,我们可以方便地查看和修改。点击一个面板的链接之后,我们可以在右侧的属性视图(Properties)中查看和修改该面板对应的一些基本属性,如高度、布局。
2、从大纲视图中我们发现,一个报表包含很多固定的面板。在每一个报表中标题和汇总(summary)面板只打印一次,页眉(header)和页脚(footer)在报表的每一页都会独立打印。我们可以直接在field中新增、删除字段,还可以将字段拖拽到报表的细节面板中,Jasper Studio将会为我们创建一个文本字段(text field)元素,并设置其值为对应字段的数据。文本字段不应出现在除细节面板之外的其它地方。
Field 字段 大纲视图下的子单元菜单,在报表中,有三组对象可以存储值:字段(Field)、参数(Parameters)和变量(Variables)。点击”Create Field”按钮,对当前报表进行新增字段;”Field”表单下会显示当前报表中所有的字段信息。
Parameters 参数 大纲视图下的子单元菜单,在报表中,有三组对象可以存储值:字段(Field)、参数(Parameters)和变量(Variables)。
Variables 变量 大纲视图下的子单元菜单,在报表中,有三组对象可以存储值:字段(Field)、参数(Parameters)和变量(Variables)。
Text Field Menu 动态文本菜单 鼠标在面板中选中动态文本,点击鼠标右键,弹出菜单,菜单目录如下:
Undo Change Text Field Expression:撤消更改文本字段表达式
Redo:恢复
Cut:剪切
Copy:复制
Paste:粘贴
Copy Format:
Enclose into Frame:装入框架
Save as Composite Element:
Add to Template Set:
Delete:删除
Show Properties:
Order:
Align in Container:
Size to Container:
Arrange In Container:
Oragnize as Table:
Add Detail Band:
Stretch To Content:
Convert to Static Text:转换为静态文本;将动态文本属性调整成静态
Fit text in element:在元素中调整文本;
JSON Tags:
CSV Tags:
XLS Tags:
PDF 508 Tags:
Report State 报告状态 操作编译jasper文件中的jrxml源文件时,显示编译运行的日志信息
Page Format 页面格式 主要是模板页面的属性信息,包含:Format(纸张大小,A4、A3等等),Width(纸张宽度),Height(高度),Page Orientation(页面方向,包含选项:Portrait(纵向)、Landscape(横向)),Units(单位,cm、mm、pixel等),Margins(边距,包含:Top(上部)、Bottom(下部)、Right(右边)、Left(左边)),Columns(面板,包含:Columns(面板数量)、Column Width(面板宽度)、Space(空间)、Print Order(打印顺序,包含选项:Vertical(垂直)和Horizontal(水平)))。
Location 坐标 以当前元素的左上角的坐标作为当前元素的坐标。

Parameters 参数说明

Parameters 下的那些灰色参数,表示是系统级的参数,不能编辑或者删除它。

Jaspersoft Studio 定义了一些内置参数(Parameters),具体说明如下:

内置参数 说明
REPORT_PARAMETERS_MAP 使用者调用 API 中的 fillReport() 方法所传入的 Map 型键值对参数。
REPORT_CONNECTION 报表中的 JDBC connection,用于执行 SQL 语句。
REPORT_MAX_COUNT 报表所能填充的最大记录数。如果未指定,则没有限制。
REPORT_DATA_SOURCE 如果没有使用 JDBC connection(比如非数据库的数据源 CSV 等),将会使用这个参数。
REPORT_SCRIPTLET 报表创建时的脚本实例,默认使用 net.sf.jasperreports.engine.JRDefaultScriptlet。
REPORT_LOCALE locale 区域设置,一般用于国际化场景。默认为系统值。
REPORT_TIME_ZONE 所在时区,默认为系统值。
REPORT_FORMAT_FACTORY 默认实现是 net.sf.jasperreports.engine.util.FormatFactory。可以参考该工厂类,实现自定义工厂。
REPORT_CLASS_LOADER 可用于设置报表填充时的 class loader。
REPORT_URL_HANDLER_FACTORY 可用于指定创建 URL handlers 实现工厂。
REPORT_FILE_RESOLVER 默认实现是 net.sf.jasperreports.engine.util.FileResolver,用于解析报表中的资源路径,也可以自定义。
REPORT_VIRTUALIZER 定义报表填充器的实现类,默认为 JRVirtualizer 接口的实现类。
IS_IGNORE_PAGINATION Boolean 类型,分页开关。默认情况下,除了导出 excel 与 HTML 之外,其它情况不分页。

常见问题处理

问题 原因 解决方法
Element reaches outside frame width:x =0,
width=122,available width=120
元素达到外部框架宽度:x=0,宽度=122,可用宽度=120 根据报错信息,调至到Source界面,查看错误元素位置,在模板中进行调整修改
An internal error occurred during:
“Building report”.java.lang.Null Pointer Exception
在代码来源(Source)一栏中报表代码中某个元素的类型开始和结束不一致 正确表达式为:
eld>


ield>

Text>


cText>
在Jaspersoftstudio软件界面,
针对编辑好jrxml格式的文件,
点击”Compile Report”按钮,无法保存生成jasper文件
Jaspersoftstudio生成jrxml的版本与打开jrxml的版本不一致 使用新版本的Jaspersoftstudio打开jasper文件重新生成jrxml。
根据模板(模板仅一页内容)执行打印时,
打印机会打印出一张有内容的和一张空白页,
或会进行正反两面打印(一面有内容一面没内容)
维护模板时模板有空白页产生 针对仅有一页内容的模板,在每次编辑模板完成时都需要点击”Preview”进行模板预览,在模板预览界面中如果发现”Page 1 of 2”,那么就表示改模板占据两页,存在空白页,需要在”Outline”下选择当前模板的Properties(属性栏)找到”When no data type”一栏,选择”All Sections No Detail”,再点击”Compile Report”按钮,进行jrxml文件保存,再点击”Preview”进行模板预览,如果还不行,增大模板下边框间距,确保模板内容不超过纸张底线,再点击”Compile Report”按钮,进行jrxml文件保存,再点击”Preview”进行模板预览。
在编辑打印模板时,添加条码组件后,
打印后会将条码中的数值显示到条码下方
Jaspersoftstudio软件高版本中会自动将条码信息以明文的形式显示出来 使用TIBC Jaspersoft Studio 6.2.0版本进行编辑带有条码组件的模板。
提示报错:
There are compilation errors please fix the design.
详细报错:
Invalid character constant
Errors were encountered when compiling report
expressions class file:
使用了Jasper格式进行编译预览,导致无法保存 可以使用jasper文件对应的rxml文件在设计器中进文件行编译
详细报错:
The operator / is undefined
for the argument type(s)
java.lang.String,java.lang.String
Error were encountered when compiling
report expressions class file:
当配置单打印显示为null时 jasper模板中动态文本的编号未在模板字段关系中维护关联关系,导致无法映射关联取值 在模板字段关系中维护关联关系
当配置单打印显示为N/A时 根据模板字段关系的关联关系,校验取值取到空值
当配置单动态取值打印照片显示为空白时 1、jasper模板中动态文本的编号未在模板字段关系中维护关联关系,导致无法映射关联取值
2、根据模板字段关系的关联关系,校验取值取到空值
在jaspersoft中创建模板报表,
连接数据库,编辑执行查询视图的SQL语句后,
点击Jaspersoft中的预览界面,
正常输入变量参数,无法预览。
预览界面显示”Document is empty”。
因为对用的数据库表中无结果数据 在对应的数据表中插入数据,使得查询的视图中存在可用数据。
获取打印模板通过打印服务器进行打印时,
发现打印内容不展示,
空白显示
(有时候会出现部分信息能够打印显示,
部分信息不能够打印显示)
打印服务器字体中不包含打印模板中的字体,导致无法进行信息展示 将打印模板中的字体调整为打印服务器中有的字体
通过Jaspersoft Studio设计器
打开别人发的jasper格式文件时,
页面有报错提示:
Failed to create the part‘s controls ,
紧接着页面关闭。
接收到的jasper格式文件采用的是低版本 (6.2.0) 的Jaspersoft Studio设计器编译生成的,高版本的设计器在打开时不兼容 使用高版本的Jaspersoft Studio设计器打开对应jrxml文件进行重新编译生成jasper文件

函数表达式

表达式 含义 备注
“”.equals( $F{D020} )?”X”:$F{D020} 当变量D020的值等于空字符串时,返回为”X”,否则,返回对应的变量值 equals()方法用于判断两个对象是否相等。
$F{D090}.replace(“|”,”\n”) 当变量D090的值中出现”|”时,将” “替换成换行符
null==$F{D001} ?””:$F{D001}.concat(“_“).concat($F{D006}) 当变量D001的值为null时,将变量D001的值赋予为空字符串,否则,将返回对应的变量值,最后将D001值和D006值用”_“进行拼接。 concat() 方法用于将指定的字符串参数连接到字符串上。
$F{H004}.substring(0,4) 截取变量H040的值前四位 substring(int,int)
null == $F{D020} || “”.equals( $F{D020} )?”X”:$F{D020} 当变量D020等于空字符串或null值时,返回为”X”,否则返回对应的变量值
Contents
  1. 1. Jaspersoft 常用元素
    1. 1.1. 界面元素解释
    2. 1.2. Parameters 参数说明
    3. 1.3. 常见问题处理
    4. 1.4. 函数表达式
|