Crystal Report:检测到3个逗号后换行的代码实现方法
在Crystal Reports中实现每3个逗号后换行的方法
可以通过创建公式字段来实现该需求,具体代码及操作步骤如下:
// 替换为实际字段,比如{数据表.目标字段} Local StringVar input := "A,B,C,D,E,F,G"; Local StringVar Array parts := Split(input, ","); Local StringVar result := ""; Local NumberVar i; For i := 1 To UBound(parts) Do ( result := result & parts[i]; // 非最后一个元素则添加逗号 If i <> UBound(parts) Then result := result & ","; // 每3个元素后添加换行符(排除最后一组) If i Mod 3 = 0 And i <> UBound(parts) Then result := result & Chr(13) & Chr(10); // Windows换行符,单Chr(10)适配类Unix环境 ); result
代码说明
- 用
Split函数将原始字符串按逗号分割为数组,逐个提取元素; - 遍历数组时,每拼接3个元素就插入换行符,同时保留元素后的逗号;
- 最后一组不足3个元素时,直接拼接完成,不额外添加换行。
使用步骤
- 在Crystal Reports中右键点击「公式字段」,选择「新建」;
- 将代码中的
input变量替换为你实际需要处理的字段(例如{订单表.产品列表}); - 保存公式后,将该公式字段拖到报表的目标位置即可。
内容的提问来源于stack exchange,提问作者Peternus
相关产品推荐
相关产品推荐

