ALV 合并单元格

作者:斌将军 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发
ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

**1**

**文章说明**

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

在开发一些报表时,需要显示双层的标题,或者合并单元格的数据,归根结底就是要实现类似EXCEL合并单元格的需求。如图所示

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

网上的资料,很多根据国外某大神的方法实现:https://tricktresor.de/blog/zellen-verbinden/

本文章在测试该方法时,发现了一些问题,并根据个人实现习惯,加以优化和修改:

优化问题:

1、优化源代码只能对第1列进行垂直合并。

2、解决源代码垂直合并中,将导致下一列字段内容被清空。

本文章通过不画CONTAINER的OOALV方式实现ALV报表,虽然解决了一些BUG,但实现方法仍有很大的优化空间,读者可动手持续优化。

**2**

**实现过程**

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

首先创建9000屏幕

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

程序中根据超类,创建新的类

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

定义ALV对象

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

在ALV中预留要显示标题的空行

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

并去掉fieldcat自动带出来的列名

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

调用ALV显示方法后,开始合并单元格

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

垂直合并,outputlen表示向下合并几行(包含本行)

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

水平合并,outputlen表示向右合并到第几列

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

设置对应单元格的名称

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

**3**

**源代码参考**

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

代码太长,放在云盘中

链接: https://pan.baidu.com/s/1Z3PTTlJg7rJWhCiaCxkDJg?pwd=m7ip

提取码: m7ip

**4**

**结语**

ALV 合并单元格 - 封面图
ALV 合并单元格 - 封面图

以上就是关于ALV合并单元格的介绍,希望对您有所帮助。在总结过程中,也参考学习了以下文章:http://t.csdnimg.cn/zAWea

**—— 希望本篇文章对您有所帮助 ——**

斌将军

关于作者:斌将军

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ALV合并单元格.md」整理生成,仅用于内部技术分享与学习交流。