我们正在努力为最终用户提供MS Word的邮件信封功能。
-
正在从oracle数据库中提取地址,如下所示:
AddressLine1 || chr(10) || chr(13) || AddressLine2 || chr(10) || chr(13) || CityAndZip || chr(10) || chr(13) as Address
-
然后在SSRS中,报告输出如下所示,这是预期的:
1234 SomeRoad SomeOther Address SomeCity 12345
-
将此SSRS报告导出到Word文件中时,输出看起来仍然相同。然而,如果你仔细观察,你会发现在行的末尾,我们有"换行符"one_answers"回车符"。对于数据,如果您尝试使用邮件信封功能,则地址不会自动进入地址框。
1234 SomeRoad↵ SomeOther Address↵ SomeCity 12345↵
-
如果我们手动将这些"返回字符"更改为段落符号。走到每一行的末尾,按delete(下一行出现(,然后按enter(地址行再次进入下一行(。这将删除返回字符(↵)至段落字符(¶(。然后,如果您选择"邮件信封"选项,则地址将正确填充。
1234 SomeRoad¶ SomeOther Address¶ SomeCity 12345¶
我们尝试过的方法:
- 每次出现相同格式的问题时,都使用chr(10(和chr(13(的变体
- 尝试使用chr(0182(直接从SQL插入段落字符。这插入了段落符号,但它被视为特殊字符(按原样出现(,而不是单词中的实际段落符号
请建议是否有其他方法来解决此问题。或者是否有更好的方法来满足需求本身。谢谢
Word中的段落符号仅为ANSI 13。任何其他组合,如当前导出到Word的ANSI 10+ANSI 13,都将无法正确识别。只需去掉ANSI 10,就可以得到预期的结果。
好的,所以我们在SSRS报告中使用的是占位符。内部文本框,放一些占位符,当导出为单词时,这些占位符会生成"¶"和下一行。您可以添加一些静态文本以及占位符(用于动态数据(。有了这个,我们就不需要更改SQL来获取特定格式的数据。例如。Address:
[Placeholder-AddressLine1],
[Placeholder-AddressLine2]
[Placeholder-CityAndZip]