Oracle SQL> SSRS输出>MS-Word信封格式问题



我们正在努力为最终用户提供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¶ 
    

我们尝试过的方法:

  1. 每次出现相同格式的问题时,都使用chr(10(和chr(13(的变体
  2. 尝试使用chr(0182(直接从SQL插入段落字符。这插入了段落符号,但它被视为特殊字符(按原样出现(,而不是单词中的实际段落符号

请建议是否有其他方法来解决此问题。或者是否有更好的方法来满足需求本身。谢谢

Word中的段落符号仅为ANSI 13。任何其他组合,如当前导出到Word的ANSI 10+ANSI 13,都将无法正确识别。只需去掉ANSI 10,就可以得到预期的结果。

好的,所以我们在SSRS报告中使用的是占位符。内部文本框,放一些占位符,当导出为单词时,这些占位符会生成"¶"和下一行。您可以添加一些静态文本以及占位符(用于动态数据(。有了这个,我们就不需要更改SQL来获取特定格式的数据。例如。Address: [Placeholder-AddressLine1], [Placeholder-AddressLine2] [Placeholder-CityAndZip]

最新更新