第六章 BIRT普通网格报表

BIRT报表目录 打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~ 欢迎大家光临我的主页:http://blog.youkuaiyun.com/birtbird~ BIRT的世界-BIRT技术漫谈 目录 第一章 BIRT简介 3 1.1 BIR 阅读详情

6.1 属性,布局

我们以示例数据库为数据源,sql选择查询数据集为例,新建报表birt_table,空白模板数据集customer:

select CLASSICMODELS.CUSTOMERS.CUSTOMERNAME,CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER,CLASSICMODELS.CUSTOMERS.CONTACTLASTNAME,CLASSICMODELS.CUSTOMERS.CONTACTFIRSTNAME,CLASSICMODELS.CUSTOMERS.PHONE,CLASSICMODELS.CUSTOMERS.ADDRESSLINE1,CLASSICMODELS.CUSTOMERS.ADDRESSLINE2,CLASSICMODELS.CUSTOMERS.CITY,CLASSICMODELS.CUSTOMERS.STATE,CLASSICMODELS.CUSTOMERS.POSTALCODE,CLASSICMODELS.CUSTOMERS.COUNTRY,CLASSICMODELS.CUSTOMERS.SALESREPEMPLOYEENUMBER,CLASSICMODELS.CUSTOMERS.CREDITLIMIT

from CLASSICMODELS.CUSTOMERS

我们在报表编辑区插入一个1列2行的网格,在第2行插入一个1行4列的表,直接从画板中拖过来或者用右键菜单的方式都行:




把customer表中的CUSTOMERNAME,COUNTRY,PHONE,ADDRESSLINE1属性列插入表中:

预览结果如下


前面通过预览看到,我们制作的报表已经正确展示了我们需要的数据,可是外观上却不太美观。接下来我们对报表的外观格式进行一定的调整,主要包含以下几个方面:

� 表头改为中文,并设置背景色,字体颜色

� 设置数据对齐

� 给表格加上边框线

� 添加报表标题

点击“布局”标签,返回报表设计窗口。

双击表格元素的页眉行表头标题所在的单元格,逐一将表头改为中文:客户名称,国家,电话,地址。


选中表格元素的第一行,即页眉行。(注:先选中表格元素,然后再选中表格的第一行)。


在下面的属性窗口中,选择常规标签,设置该行的背景色,居中对齐,字体颜色,以及字体加粗。


选中表格元素,在下面的属性窗口的常规标签中,点击居中对齐按钮。


选中表格中任意单元格,拖拽鼠标直至覆盖表格所有的单元格。(注:一定要首先选中表格的一个单元格,然后进行鼠标拖拽,您可以在下面的属性窗口中查看您当前选中的是什么元素)


在属性窗口中选择边框标签页,设置边框宽度为 1px,并给单元格四周都加上边框线。


接下来我们给报表添加一个标题,您可以使用标签、文本或者数据元素来显示报表的标题。这里我们使用标签来显示报表的标题。选择报表设计页面中网格的第一个单元格,往其中添加一个标签元素,输入文本“客户

信息表”作为报表的标题,并设置该标签文本的字体,颜色及大小。您可以根据需要还可以在报表标题中加入图片等元素,美化报表外观。


设计报表时,您可以通过设置报表内容的格式来使得其外观与格式更加美观并符合要求。比如,您可以突出显示报表中特定的数据,更改日期、数据与货币的显示格式,调整报表元素之间的间隔,设置数据的条件格式。

BIRT报表为您定制报表中各元素的外观提供了许多选项,通过设置元素的各种格式属性,您可以更改这些元素的对齐方式、颜色、字体、尺寸大小等,您还可以添加元素的背景色,边框等。

如果您对 CSS 比较熟悉,您还可以使用CSS 来设置报表的外观格式,许多报表元素的格式属性与CSS 中的格式属性是一致的。

    您可以通过以下视图来修改元素的格式属性——属性编辑器窗口。该视图将常用的属性按功能分类组织在一起,其中的属性选项根据报表元素的不同而不同:


在常规,边框,页边距,分页符,可视性,目录,书签,注释,用户属性,命名表达式,事件处理程序中设置的属性,都会反映到高级选项卡中:


修改高级选项卡里的属性值,效果和修改其他选项卡对应的值是一样的。

您可以修改以下设置来修改数据的显示格式。

� 数字,文本,日期与时间的格式

BIRT报表提供了许多常用的格式样式来显示数字,货币与日期。如果您不设置数据的格式,则BIRT报表将直接显示数据原来在数据源中的格式。如果您不使用BIRT报表自带的格式,那么您还可以定义自己的格式。

� 字体,大小与颜色

在设置字体之后,当报表用户运行浏览该报表时,他将以您设置的字体来浏览报表,所以必须确保用户的系统上已经安装了您设置的字体。文本样式:加粗,斜体,下划线,删除线文本对齐:左对齐,右对齐,居中,对齐

您仅可以对小数、浮点和整型数据设置数值格式。比如,您可以将整型数据显示为小数格式,使用科学记数法或加上货币符号。

注意:数值格式对字符串类型是无效的。

您可以使用文本元素或数据元素来显示数值数据。如果您直接从数据集中将某一字段直接拖入报表设计区域,那么BIRT报表设计器将会自动创建一个数据元素来显示该字段的值。

格式化数据与格式化文本的方法是有所区别的,这会在后面小节中介绍。

设置数据元素中的数值数据格式

您可以在属性编辑器窗口的“数值格式”中,设置数据元素中的数值格式。


格式类型 示例

常规数字 3000.00

货币     $3,000.00

固定     3000.00

百分比   300000.00%

科学计数 3.00E+03

您也可以使用自定义格式。比如您可以指定数值的小数位数,在数值前或后面添加字符。您需要使用特殊符号来构建格式范式,来自定义数值格式。BIRT报表支持符合JavaDecimalFormat 类定义的规范的数值格式。请查阅Java 文档获取该相关信息。下表给您显示了一些自定义格式的例子。

格式范式 原始数值 格式化后数值

0000.00  12.5     0012.50

124.5    0124.50

1240.553 1240.55

#.000    100      100.000

100.25   100.250

100.2567 100.257

$#,###   2000.00  $2,000

20000.00 $20,000

ID#      15       ID15

BIRT报表支持您在文本元素中通过<VALUE-OF>标签来显示数据。而文本元素的数值您是不能像前面设置数据元素中的数值格式一样,直接在属性编辑器里设置其格式。但是您可以通过<VALUE-OF>标签的format 属性来设置其数值格式,属性值为格式范式,且必须使用双引号。

<VALUE-OF format="$#,###.00">row["orderTotal"]</VALUE-OF>

<VALUE-OF format="#.000">row["unitTotal"]</VALUE-OF>

您使用的格式范式必须要符合前面提到的Java 所定义的规范。

您可以根据用户需求将日期时间以不同格式显示,如长格式、短格式、中等格式等。如果报表运行所在的系统支持多语言地区,那么日期数据则可以以不同区域的格式来显示。您可以使用文本元素或数据元素来显示日期时间数据。当您直接从数据集中将日期时间字段拖入报表设计中时,BIRT报表将自动创建一个数据元素来显示该日期时间数据。格式化文本元素中的时间日期数据与格式化数据元素中的日期时间数据是不一样的。

� 设置数据元素中的日期时间数据格式

您可以在报表设计中选中包含有日期时间数据的数据元素,然后在属性编辑器的日期时间格式页面中指定其格式。


您也可以自定义日期时间格式。比如您可以使用2 位数字显示月份,2 位数字显示年份,添加某州的第几天等。同样,您需要使用特殊符号来构建格式范式来自定义日期时间格式。BIRT报表支持Java SimpleDateFormat 类所定义的格式范式规范。请查询Java 文档获取相关信息。

下表以日期数据 4/15/2005 为例,给您展示了使用不同范式所得到的不同结果。

格式范式

结果

MM-dd-yy

04-15-05

E,M/d/yyyy

Fri,4/15/2005

EEEE,M/dd/yy

Friday,4/15/05

MMM d

Apr 15

MMMM

April

yyyy

2005

W

3 (一月中的第几周)

w

14 (一年中的第几周)

D

105 (一年中的第几天)

因为自定义日期时间格式将会使日期时间永远以指定的固定格式显示,所以当您的报表仅使用同一区域设置来查看时,您可以使用自定义格式。比如您使用自定义格式MM-dd-yy,那么日期January 10, 2006 将永远显示为01-10-06,不管查看该报表时使用的是何种区域设置。而在某些区域设置下,01-10-06 则很可能被理解为October 1, 2006。

同普通数据一样,您也可以在文本元素中使用<VALUE-OF>标签来显示日期时间数据。在<VALUE-OF>标签中,那您可以使用format 属性来设置日期时间格式,下面是两个例子。

<VALUE-OF format="MM-dd-yyyy">row["orderDate"]</VALUE-OF>

<VALUE-OF format="M/d/yy hh:mm:ss">new Date()</VALUE-OF>

Format 的属性值必须为格式范式,它必须要符合前面提到的Java 所定义的日期时间格式定义规范。

从数据源取回的字符串类型数据的格式经常会不一样,甚至是混乱,比如姓名或名称经常大小写不作区分,或者电话号码直接为1234567890 格式。这时我们就可以设置字符串数据的格式。

您可以使用文本元素或数据元素来显示字符串数据。当您直接从数据集中将字符串字段拖入报表设计中时,BIRT报表将自动创建一个数据元素来显示该字符串。格式化文本元素中的时间日期数据与格式化数据元素中的日期时间数据是不一样的

您可以在报表设计中选中包含有字符串的数据元素,然后在属性编辑器的字符串格式页面中设置其格式。


您可以选择将字符串全部用大写字母或者小写字符来表示,或者使用特殊字符来自定义字符串格式。下表给您列出了这些特殊符号的含义:

符号

描述

@

字符占位符。每一个@符号代表字符串中的一个字符。如果字符串的字符数比@符号的个数少,那么字符串将会以空格补齐。占位符的填充方向为从右到左,除非在格式范式以感叹号!开头。

&

与@一样,同为占位符。唯一不同的是如果字符串的字符数比&个数少,则不会自动以空格补齐。

!

指定占位符的装填方向从左到右

>

将字符串转为大写

<

将字符串转为小写

下表给您列出了一些格式范式,以及它们作用于原始数据的结果

格式范式

范例

结果

(@@@)@@@-@@@@

6175551007

(617)555-1007

5551007

( ) 555-1007

(&&&) &&&-&&&&

6175551007

(617)555-1007

5551007

() 555-1007

!(@@@)@@@-@@@@

6175551007

(617)555-1007

5551007

(555) 100-7

!(&&&) &&&-&&&&

6175551007

(617)555-1007

5551007

(555) 100-7

!(@@@)@@@-@@@@ + ext9

5551007

(555) 100-7+ ext 9

!(&&&) &&&-&&&& +ext 9

5551007

(555) 100-7 +ext 9

>&&&-&&&&&-&&

D1234567xy

D12-34567-XY

<&&&-&&&&&-&&

D1234567xy

d12-34567-xy

同普通数据一样,您也可以在文本元素中使用<VALUE-OF>标签来显示字符串数据。

在<VALUE-OF>标签中,那您可以使用format 属性来设置字符串格式,下面是两个例子

<VALUE-OF format="(@@@) @@@-@@@@">row["phone"]</VALUE-OF>

<VALUE-OF format=">">row["custName"]</VALUE-OF>

Format 的属性值必须为格式范式,它必须要符合前面提到的Java 所定义的字符串格式定义规范。

表,行,列,单元格,报表项各自的属性视图不相同。

表的属性如下:


行的属性如下:


列的属性如下:


单元格的属性如下:


报表项的属性如下:


所以,在设置属性的时候,一定要分清楚,是设置的行的属性,还是单元格的属性,或是报表项的属性。给单元格加上边框与给报表项加上边框的效果是不同的,如下所示为给报表项加上背景和边框:


另外,在页面上右击,选择布局为自动布局,表格会随页面大小自动展开。


一个常见的用法是在报表中使用外部javascript,这个时候就可以用页面的属性中的资源选项,导入javascript文件,如图导入了一个名为test.js的外部javascript文件:


反映到xml中就是增加了如下一段:

<list-property name="includeScripts">

        <property>test.js</property>

</list-property>

后文再详细介绍脚本的书写以及外部脚本的调用。

精通BIRT:Eclipse商务智能报表工具开发实践指南 书籍正有清华大学出版社编辑出版发行中,敬请期待,目录如下:  第一章 BIRT简介 5 1.1 BIRT初识 5 1.2 BIRT安装 8 1.2.1 BIRT设计器的安装 8 1.2.2 BIRT运行时环境的安装 9 第二章 BIRT设计器概述及本地化支持 12 2.1 BIRT设计器概述 12 2.1.1 基本概念 12 2.1.2 基本视图 13 2.2 BIRT本地化之 阅读详情

相关推荐

BIRT报表开发教程

BIRT报表开发教程,非常详细的教程!包含各种类型的基础报表,交叉表等!

BIRT报表使用

BIRT是一个开源软件项目,它提供BIRT技术平台来创建数据可视化和报表,这些可视化和报表可以嵌入到丰富的客户端和Web应用程序中,尤其是那些基于Java和Java EE的应用程序。 内含下载地址

乱域葬魂 4167

birt报表合并以及表头锁定功能的实现

birt报表合并以及表头锁定功能的实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

【birt】报表工具

一、概念 BIRT报表工具是一个开源的、基于Eclipse的报表生成工具,专门用于为企业应用生成各种格式的报表。它能够帮助开发人员在Java应用中嵌入报告和数据分析功能,提供丰富的报表设计、数据集成和视图呈现能力。BIRT广泛应用于企业的数据报告、业务智能、图表可视化等领域。 能够从各种数据源(如数据库、Web服务、XML、CSV等)获取数据,并基于这些数据生成图表、报表、仪表板等多种数据可视化形式。其核心功能包括报表设计、数据集成、图表生成、定制报表输出等。 二、BIRT由两部分组成 先设计,再运行 B

weixin_44919491的博客 2227

bird生成报表jar包 java生成excel报表

自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。不断完善中,欢迎提供意见和建议!(注:list数据集中对象的属性不支持基本数据类型,请使用包装类声明!)

birt数据集参数与列绑定实现

一个数据集中的数据绑定到另一个数据集,属于内绑定. 包括实现文档及报表源文件.

第六章 BIRT普通网格报表(续) .

6.2 数据项的过滤 通常情况下数据源中会含有大量数据,而一张报表会根据用户的需要展示其中的一小部分。这时您需要使用筛选来选择用户需要的数据,比如在显示客户信息表时,我们可以根据用户需要,使用筛选让报表只显示某个特定地区的数据。您甚至可以让用户在运行报表时指定一个值做为筛选值来筛选数据。本章将讨论在BIRT报表中如何使用筛选。出于报表性能方面的考虑,我们建议您在设计报表时仅从数据源获取制作报表需

huazaichang的专栏 1605

保姆级教程:用sw_urdf_exporter插件将Solidworks机械臂模型转为ROS可用的URDF

本文提供了一份详细的保姆级教程,指导用户使用sw_urdf_exporter插件将Solidworks机械臂模型转换为ROS可用的URDF文件。从环境准备、插件配置到模型预处理和关键参数设置,再到ROS环境集成测试和性能优化,全面覆盖了机械臂URDF转换的全流程。特别适合机器人工程师和ROS开发者快速实现Solidworks模型到ROS环境的无缝迁移。

weixin_29300931的博客 400

第六章 BIRT普通网格报表(续2) .

6.6 数据项上的鼠标事件 在大纲视图下,选中数据源,数据集,主体中的网格,行,单元格,表,表的行,单元格,以及参数等中的任何一个,都能在报表编辑器的脚本选项卡下面看到可以编写脚本的输入区,这是BIRT提供给设计者一个非常强大的接口,可以添加很多的事件。 具体能分为两个阶段: 报表生成阶段的事件:  1、 报表级事件:  initialize 在报

z1012890225的专栏 1141

Python数据清洗实战:用RapidFuzz搞定模糊匹配(附完整代码示例)

本文详细介绍了在Python数据清洗中,如何利用RapidFuzz库高效解决字符模糊匹配难题。通过实战代码示例,演示了从处理拼写错误、格式不一致的脏数据,到构建实体对齐与记录去重的完整清洗管道,帮助开发者提升数据质量与处理效率。

pear55的博客 532

华为2288H-V5服务器做raid的详细步骤

操作步骤 服务器启动界面 按del键进入设置输入密码,2288H-v5默认密码是Admin@9000 移动光标选择device manager 驱动管理选择configurationutility 配置管理 选择main menu 主菜单 选择第一个 configuration management 配置管理 选择create virtual driver 创建虚拟驱动选择select RAID level 选择RAID等级选择level-5 选择select drivers 选择驱......

weixin_46041124的博客 1万+

精通BIRT:Eclipse商务智能报表工具开发实践指南 (1-16章的目录明细)

书籍正有清华大学出版社编辑出版发行中,敬请期待,目录如下:  第一章 BIRT简介 5 1.1 BIRT初识 5 1.2 BIRT安装 8 1.2.1 BIRT设计器的安装 8 1.2.2 BIRT运行时环境的安装 9 第二章 BIRT设计器概述及本地化支持 12 2.1 BIRT设计器概述 12 2.1.1 基本概念 12 2.1.2 基本视图 13 2.2 BIRT本地化之

The code world of freedom 1037

Revit二次开发之双事件:空闲事件与DocumentChanged事件

对以下文章所展示的代码进行了修改,当前展示的代码可直接复制使用。 由于本人初学,下列语言为个人理解,如有错误请指正。   《引用1》中: 使用模态对话框,或者尽量保证事件在ExternalCommand的Execute函数或者ExternalApplication的OnStartup函数里面注册。 如果一定要使用非模态对话框,那么请使用ExternalEvent事件的Raise函数,强迫...

一个Revit二次开发的实习生 6147

BIRT-商业智能报表工具开发案例指南

打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~ 欢迎大家光临我的主页:http://blog.youkuaiyun.com/b...

chihengfu9559的博客 102

YOLOv8改进:基于EfficientNetV2均衡缩放网络的特征提取层优化【YOLOv8】

YOLO(You Only Look Once)系列模型以其高效的实时目标检测能力而闻名。YOLOv8作为该系列的最新版本,通过引入改进的网络结构和算法优化,进一步提升了目标检测的性能。然而,YOLOv8在特征提取阶段的网络结构仍有改进的空间。EfficientNetV2是一种基于均衡缩放的卷积神经网络,它通过优化网络的宽度、深度和分辨率来实现高效的特征提取。与之前的EfficientNet版本相比,EfficientNetV2在速度和精度上都有显著提升,尤其在处理复杂目标检测任务时表现尤为突出。

博客 1582

华为OD机试 - 第k个排列 - 全排列递归(Python/JS/C/C++ 2025 C卷 100分)

给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有n!按大小顺序升序列出所有排列的情况,并一一标记当n=3时,所有排列如下“123”,“132,“213”,“231”,“312”,“321”输入两行,第一行为n,第二行为k,给定n的范围是[1,9],给定k的范围是[1,n!排列为“12”和“21”,第2个是“21”。给定n和k,返回第k个排列。输出排在第k位置的数字。只有一个排列,直接返回。

学Java,找哪吒 984

Birt报表开发实践

  项目需要用报表,看了几个报表工具,似乎Myeclipse自带 Birt比较方便,自带导出分页,支持多种图形,简单报表基本只需要写sql,。。开始实践学习;    一、相关资料:  1、  MyEclipse8.6——BIRT报表开发学习,这篇文章看完了基本可以了解下Birt是个什么东西。  2、 http://blog.youkuaiyun.com/birtbird~(看了目录我继续写下去的欲...

brosnan2800 142

YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力

本文使用2023年最新提出的BiFormer,实现对YoloV8的改进。目前,BiFormer还有在显存占用,还有性能存在问题。我们先试试效果,期待作者在Pytoch上早日实现优化。论文链接:https://arxiv.org/abs/2303.08810代码链接:https://github.com/rayleizhu/BiFormer作为视觉transformer的核心构建模块,注意力是捕捉长程依赖关系的强大工具。

m0_47867638的博客 2845

BIRT-商务智能报表工具开发案例指南

BIRT 报表 脚本 开发 数据库 http://www.iteye.com/topic/1128694 打算近期出版一本全面介绍BIRT使用的书籍,能够帮助大家全面了解BIRT的方方面面,用丰富的案例和源码,例子,诠释这个报表设计工具,展现工具,开源框架,扩展框架的种种优点特性。 初稿内容如下,书写正在进行中~欢迎大家光临我的主页:http://blog.youkuaiyun.com/birt...

weixin_30795127的博客 139

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 第五章 BIRT文本类报表
下一篇: 第七章 BIRT分组报表
freedom1993
博客等级 码龄12年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值