如何用明细数据批量制作卡片

需求描述:

下面是学生考场及座位的明细数据:

想要实现每 40 人排在一个教室,格式如下图所示:

分析:

每页 EXCEL 显示 40 个学生的座位号,按 1~40 的顺序纵向每列显示 6 个,横向每行是 7 个,如上图,也每页打印 42 个卡片,每页除了 40 个学生的卡片,还需要显示两个空的卡片占位,最简便的方式是在原有记录中每 40 条记录后补两条空记录。

具体实现:

启动报表设计器,通过工具栏中的新建按钮,新建一张空白报表。

报表中增加数据集,在”报表”菜单——数据集——增加,数据集类型为”脚本数据集”, 具体定义如下图所示:

脚本表达式定义及说明:

A1:=file(“学业规划表.xls”),定义一个文件对象,路径使用的是相对路径。

A2:=A1.xlsimport@t(;“sheet2”),用 xlsimport 函数读取 A1 的文件对象内容,@t 是指第一行是标题, sheet2是指定 的sheet名称。

A3= =A2.group((#-1)\40), 每 40 条记录分一组。

A4:=x=A2.create().insert(0), 复制 A2 的数据结构,并插入一条空记录,将这条记录给变量 x。

A5:=A3.conj(~|x|x), 将每一个分组后拼接两条空记录,再合并成序表。

定义好的数据集,确定后,点击浏览数据,可以看到在原 EXCEL 数据基础上,每 40 条后都有两条空记录。

数据集数据没问题后,在报表设计器设计界面设置报表基本形式:边框,行高,列宽,字体,字号等。

数据是来源于刚才创建好的数据集,在对应单元格设置单元格表达式。

B1:=ds1.select(教室号)

B2:=ds1. 测评考号

B3:=ds1. 姓名

B4:=ds1. 座位号

在”报表”菜单中——报表属性,设置分页方式为“按纸分页”,分栏数为 7。

保存报表,预览报表,通过”文件”菜单——“导出”——“分页 EXCEL 文件”