Crystal Reports新手求助:如何将表格数据转为横向字段展示?
Crystal Reports实现横向字段展示方案
完全可以实现,给你两种实用的方案:
方案一:交叉表(Cross-Tab)组件(推荐,支持动态数据)
这是Crystal Reports里处理行列转换最便捷的方式,适合数据行数不固定的场景:
- 插入交叉表:点击菜单栏的
插入 > 交叉表,把交叉表控件拖到报表的合适位置。 - 配置字段映射:
- 将
Name字段拖拽到交叉表的列区域,它会自动变成横向的表头。 - 将
Amount字段拖拽到汇总区域,右键点击汇总字段,选择汇总字段 > 更改汇总方式,改成最大值(因为每个姓名对应唯一金额,最大值就是该姓名的实际金额)。 - 行区域可以留空,若自动生成了行标题,直接右键删除即可。
- 将
- 调整格式:
- 选中表头行(姓名那一行),设置字体、对齐方式让内容居中。
- 调整列宽,确保姓名和下方的金额对齐;需要分隔线的话,右键交叉表选择
格式化交叉表,在边框设置里给列之间添加竖线。 - 若不需要默认的汇总标题,右键删除即可。
方案二:手动布局(适合固定数据量场景)
如果你的数据行数是固定的(比如就示例里的3条),可以直接手动排版:
- 在报表上方添加一行文本框,分别输入
Smith、Will、Pedro作为横向表头。 - 在表头下方对应位置添加公式字段,每个公式字段过滤对应姓名的金额:
比如第一个公式字段的内容为:{Table.Amount} WHERE {Table.Name} = "Smith",其余两个以此类推替换姓名。 - 调整文本框和公式字段的位置,设置对齐方式,添加分隔线让布局更清晰。
内容的提问来源于stack exchange,提问作者echooooslam
相关产品推荐
相关产品推荐

