当alv 显示的数据中有 双引号 的时候,在alv 中显示是没有问题的,但是当输出到excel 时,会出现 问题。经过分析发现,这个问题并不是alv 的问题,而是 输出的文本文件在excel中打开的问题,也就是excel的问题。
经测试发现如下的规律:
假设输出的数据为 刘进才同学 朱嘉同学 司立龙同学
ALV | EXCEL | ||||
刘金才同学 | 朱嘉同学 | 司立龙同学 | 刘金才同学 | 朱嘉同学 | 司立龙同学 |
"刘金才同学 | 朱嘉同学 | 司立龙同学 | 刘金才同学 朱嘉同学 司立龙同学 | ||
"刘金才"同学 | 朱嘉同学 | 司立龙同学 | 刘金才同学 | 朱嘉同学 | 司立龙同学 |
"刘金"才同"学 | 朱嘉同学 | 司立龙同学 | 刘金才同"学 | 朱嘉同学 | 司立龙同学 |
"刘金才同学 | 朱嘉同学 | 司立龙"同学 | 刘金才同学 朱嘉同学 司立龙同学 | ||
"刘金才同学 | 朱嘉同学 | "司立龙同学 | 刘金才同学 朱嘉同学 司立龙同学 | ||
"刘金"才同"学 | "朱嘉同学 | 司立龙同学 | 刘金才同"学 | 朱嘉同学 司立龙同学 | |
刘金才"同学 | 朱嘉同学 | 司立"龙同学 | 刘金才同"学 | 朱嘉同学 | 司立"龙同学 |
刘金才"同学 | 朱嘉同学 | 司立龙同学 | 刘金才同"学 | 朱嘉同学 | 司立龙同学 |
结论:
当在字段的中间出现 “ ,就会被按照正常字符处理。
当在字段的开头出现 “ 的时候,他就会在往后搜索 ”(这个”只要出现在字段中既可以,不必须在字段的开头出现) 如果搜索到了,就把 把 从开头 有 “ 的字段开始一直 到 再出现 ” 的那个字段 全都链接到一个字段中。
如果为了避免这个问题的出现,可以考虑将开头的 “ 转换成 全角 的 ”。
另外需要强调的是,要保证输出时指定的字段类型与其系统类型一致,否则在 输出excel 的时候会出现 short dump。误,