润乾报表中动态斜线的实现——药品处方单的灵活排版

需求背景

在药品处方单或检查申请单这类报表中,经常会遇到一个典型需求:处方下方药品明细行数不固定,从几行到几十行都有可能,斜线需要跟随明细行的高度自动拉伸(斜线为医院处方管理规范,主要作用是防止篡改,相当于把空白区域划掉)。

5png

本文分享一种基于润乾报表的实现方案,通过动态扩展空白行与斜线边框相结合,优雅地解决这一排版难题。

实现思路

润乾报表实现该效果的核心思路是 “辅助行扩展 + 斜线边框” 的组合策略:
1、利用润乾的扩展行机制,在右侧根据数据集记录数动态生成空白行;
2、在下方单元格设置斜线边框,将扩展的空白行作为其跟随目标,并通过主格设置将左侧斜线格的高度与右侧动态区域保持一致。

具体实现步骤

第 1 步:设计固定的表头、表尾

按照表格需求完成患者信息、诊断、底部签名等静态区域的布局。这些区域固定不变,不参与扩展。

第 2 步:设计药品明细区域

为了美观,通常要求每页固定行数(如 15 行),若数据不足则补空白行(只算数据区,不算表头表尾的行数)。

6png

①在 A15 单元格输入表达式:=to(1,15-ds1.count()% 15) 计算需要扩展的空白行数
②B15 单元格右击,点击边框设置,选择斜线边框。

7png

③设置 B15 的左主格为 `0
④A15 内容可去掉可视,缩小列宽
⑤当数据正好满足每页 15 条数据时,就不需要扩展了,这时我们需要在 15 行的隐藏行表达式添加判断:if(ds1.count()% 15==0,true,false)

完成以上设置即可实现对角线的效果。

点击可下载示例报表:

zip