我的编程空间,编程开发者的网络收藏夹
学习永远不晚

报表中如何实现不规则布局

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

报表中如何实现不规则布局

报表,我们习惯于认为主要用来呈现数据汇总、排序、分组对比的效果,一般都是“横平竖直”的效果,也就是我们常说的二维表格,最多也就是通过一些斜线、合并表示一些特殊的数据关系。事实上,报表还可以通过实行各种不规则的布局,来发挥更大的作用。

首先,我们就拿我们每个人几乎都遇到过的大大小小的各种考试来举例。每逢考试就一定会有考场座位分布图,以便考生对号入座参加考试。这里看一个具体的案例,来自于某地的一次职业技能考试,总共涉及数十所所学校,数千名考生,每人参加 4 门学科,需要按照专业、场次、时间以及一定的随机规则进行座次安排,最终输出座位分布图,然后打印并在各个考场张贴。要求每名考生的座位标签如下图所示:

报表中如何实现不规则布局

     整个教室的作为分布如下图所示:

报表中如何实现不规则布局

这种形式的报表就不再是简单的“横平竖直”了,而是我们所说的不规则布局。具体第说,这种布局有一个形象的名称“龙形布局”,也就是每个小的局部作为标签具有自己的布局,好像是龙的鳞片,而整体上又按照一定的宽度(这里是 2 列)进行纵向排布。

那么,有什么方法可以简单、快捷地一下子制作出数千人的“龙形布局”座次分布图呢?——润乾报表就可以!

话不多说,下面我们一起看一下润乾报表中如何轻松搞定这类不规则布局的吧!

     首先,根据效果图绘制报表样式和框架,如下:

报表中如何实现不规则布局

这里偷偷泄露一个小【技巧】,我们使用“to 函数 + 纵向扩展”控制每列放几张桌子,就是上图 C4 单元格的表达式。

     接下来,填入考生信息,如下

报表中如何实现不规则布局

其中:

A4 单元格中表达式为:=ds1.group(ZYGZMC;ZYGZMC:1),合并单元格 A4-A8, 纵向扩展,分组取出职业名称并升序排列,后面的数据将默认以 A4 单元格为主格跟随扩展取数。

B4 单元格中表达式为:=ds1.group(KCMC;KCMC:1),操作同上,KCMC 代表考场名称

D5 单元格中表达式为:=valueat(ds1.select(LLKCZWH:-1,LLKCZWH<6),C4),给每个桌子贴上理论考场座位号

E4 单元格中表达式为:= “理论:”+ds1.select(LLPD,LLKCZWH==D5),ds.select 函数根据理论考场座位号(LLKCZWH)取出理论评审(LLPD)成绩

F4 单元格中表达式为:=ds1.select(ZHPD:-1,LLKCZWH==D5),操作同 E4,ZHPD 代表 综合评审成绩

E5 单元格中表达式为:=”实践:”+ds1.select(SCPD,LLKCZWH==D5),操作同 E4,SCPD 代表实践评审成绩

E6 单元格中表达式为:=”综合评审:”+ ds1.select(ZHPD,LLKCZWH==D5),操作同 E4,ZHPD 代表综合评审成绩

E7 单元格中表达式为:=ds1.select(XM,LLKCZWH==D5),操作同 E4,XM 代表考生姓名

E8 单元格中表达式为:=ds1.select(ZKZH,LLKCZWH==D5) ,操作同 E4,ZKZH 代表考生准考证号

到这里,我们已经将左边 1 列的 5 位同学安排妥当了,接下来的操作相对就简单一些了,主要是把 D、E、F 列的内容复制到 H、I、J 列,然后做一些小的修改:

H5 单元格中表达式为:=valueat(ds1.select@r(LLKCZWH:1,LLKCZWH>5),C4),复制粘贴得时候别忘记修改取数的范围奥。

I4 单元格中表达式为:= “理论:”+ds1.select@r(LLPD,LLKCZWH==H5),注意注意,这里有一丢丢变化奥, ds.select 函数使用 @r 选项是为了保证数据从根数据集中取数不受前面那列的影响奥。

J4 单元格中表达式为:=ds1.select@r(ZHPD:-1,LLKCZWH==H5)

I5 单元格中表达式为:=”实践:”+ds1.select@r(SCPD,LLKCZWH==H5)

I6 单元格中表达式为:=”综合评审:”+ds1.select@r(ZHPD,LLKCZWH==H5)

I7 单元格中表达式为:=ds1.select@r(XM,LLKCZWH==H5)

I8 单元格中表达式为:=ds1.select@r(ZKZH,LLKCZWH==H5)

     Bingo!有木有很意外,做到这里就已经轻松搞定考场分布报表了,是不是赶脚很简单,时间也节省了不少?多出来的时间您一定不介意(坏笑)我再多说些什么吧…..

上面我们所完成的布局属于平面规划的直观展示,接下来,我们再看一种非常实用的业务场景:

以仓储行业为例,在实现了条码管理的仓库,出入库单据可以通过简单的扫码完成货品的归位或取出,这时,出入库单据上就需要印制多个条目,每一项都会有相应的条目,如果按照常规布局的话,如下

报表中如何实现不规则布局

但是这种布局有一个问题,就是很有可能会出现错行扫描的情况!为此,润乾报表又偷偷给关注的我们程序猿哥哥发福利了——制作打印以下这种“错位”形式的“入场券”:

报表中如何实现不规则布局

     是不是已经迫不及待想要进场了解下这种条码不规则“错位“布局是怎么被搞定的了? 别着急,我们这就开始说道说道:

将左右错位的 2 个条形码看做一组,先弄出个样子,然后填写相应的数据表达式,如下:

报表中如何实现不规则布局

其中:

A4 单元格中表达式为:

=if(ds1.count()%2==0,to(1,ds1.count()/2),to(1,ds1.count()/2+1)),根据条码总数是奇数还是偶数,确定总共需要纵向扩展几组。

B4 单元格中表达式为:=ds1.select(field1)(A4[-1]+A4),意从结果集 ds1.select(field1) 中根据行号取出条形码

C4 单元格右键 选择“条形码”,内容表达式为:=B4,同时勾选“显示文字”, 指定条形码按照指定单元格数据呈现

B5 单元格右键 选择“条形码”,内容表达式为:=C5

C5 单元格中表达式为:=ds1.select(field1)(A4[-1]+A4+1)

然后……就没有然后了……“噹噹噹”,是不是吓一跳,到这里又一个看似复杂的布局“错位条码清单”就这么轻松搞定了,忍不住想要动手试试了,那就别犹豫了“撸起袖子,做起来吧 !!!”。

     最最后,划重点圈知识点啦,不看的话,明天用到可别怪我没告诉您奥。

如何控制布局:

【知识点】使用 to() 函数来做一些特殊报表格式的控制,根据条件限定行列数;

如何从一个集合中取出指定的成员

【知识点】valueat() 常用于从数组或者集合表达式中取出的某一个元素;

如何排除前面列的影响直接从总结果集拿数据

【知识点】比如考场座位图中 @r 选项的使用

小提示:

【操作技巧】制作此类报表如果不能一眼找出数据呈现的规律以及取数方式不妨拿出纸笔,在纸上写出一部分数据,或许一下就明白了。

说到这里,关于“报表布局技巧与应用”的简单介绍真的真的告一段落了,实现上面的效果我们仅仅是在常规展现的报表基础上使用了 1-2 个函数(比如:to()、valueat()、if())就做出了考场座位图、错位条码清单的效果,有木有感觉 So easy,几个函数轻松搞定。从此以后,做表再也不用害怕遇到神马仓库货位管理展示图、学生宿舍的分布….. 的情况了

详情链接:http://c.raqsoft.com.cn/article/1533026639184?r=gxy

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

报表中如何实现不规则布局

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

报表中如何实现不规则布局

报表,我们习惯于认为主要用来呈现数据汇总、排序、分组对比的效果,一般都是“横平竖直”的效果,也就是我们常说的二维表格,最多也就是通过一些斜线、合并表示一些特殊的数据关系。事实上,报表还可以通过实行各种不规则的布局,来发挥更大的作用。首先,我
2023-06-02

如何通过Css Flex 弹性布局实现不规则的网格布局

在网页设计中,常常需要使用网格布局来实现页面的分割和排版,通常的网格布局都是规则的,每个网格大小相同,而有时候我们可能需要实现一些不规则的网格布局。CSS Flex 弹性布局是一种强大的布局方式,它可以很容易地实现各种网格布局,包括不规则的
2023-10-21

Java语言编码规范中如何实现布局

小编给大家分享一下Java语言编码规范中如何实现布局,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java语言编码规范6.3 布局(Placement)只在代码块
2023-06-03

css布局如何实现左中右布局

小编给大家分享一下css布局如何实现左中右布局,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果如下:左中右布局
2023-06-08

java中如何实现布局

三大布局管理器(BorderLayout边框布局、FlowLayout 流式布局 、GridLayout 网格布局)BorderLayout边框布局1.继承JFrame及定义所需组件在线学习视频教程推荐:java在线视频2.在构造函数中创建组件和添加组件3.对
java中如何实现布局
2015-12-21

Vue Element-ui如何实现表单校验规则

本篇内容介绍了“Vue Element-ui如何实现表单校验规则”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录1、前言2、规则校验的入门
2023-06-20

如何在css中实现瀑布流布局

这期内容当中小编将会给大家带来有关如何在css中实现瀑布流布局,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.multi-column多列布局实现瀑布流先简单的讲下multi-column相关的部分属性
2023-06-15

如何通过Css Flex 弹性布局实现响应式表格布局

在前端开发中,响应式布局是一个非常重要的概念。随着移动设备的普及,网页需要适应不同的屏幕尺寸,以提供更好的用户体验。而表格是网页中常用的布局方式之一。在本文中,我们将介绍如何利用CSS Flex弹性布局实现响应式表格布局。CSS Flex弹
2023-10-21

CSS3+SVG滤镜如何实现不规则边框

这篇文章主要介绍CSS3+SVG滤镜如何实现不规则边框,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!需求背景,给不规则图形添加边框在我们日常开发中,时长会遇到一些非矩形、非圆形的图案。类似下面这些:使用纯 CSS,搭
2023-06-14

如何实现div+css居中布局

编程学习网:我们在设计网页时,首先需要确定网页主体内容如何布局。纵观各大网站,网页主体内容布局一般都采取居中浏览器的方式。我们编程学习网的首页也不例外。那么如何使用CSS让整个网页布局居中呢?其实方法很简单,下面小编就为大家介绍一下。
如何实现div+css居中布局
2024-04-23

如何在css中实现等宽布局

本篇文章给大家分享的是有关如何在css中实现等宽布局,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、使用table-cell实现(兼容ie8)