Oracle SQL> SSRS 输出 > MS-Word 信封格式问题
Oracle SQL> SSRS output > MS-Word envelop formatting issue
我们正在努力为最终用户提供 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 文件时,输出看起来还是一样。但是,如果仔细观察,您会在行尾看到 'line feed' 和 'carriage return character'。对于数据,如果您尝试使用 Mail-Envelop 工具,则地址不会自动进入地址箱。
1234 SomeRoad↵
SomeOther Address↵
SomeCity 12345↵
如果我们手动将这些'return characters'更改为段落符号。通过在每一行的末尾按删除键(下一行出现)然后按回车键(地址行再次转到下一行)。这会将 return 字符 (↵) 删除为段落字符 (¶)。然后,如果您转到邮件信封选项,那么地址将被正确填充。
1234 SomeRoad¶
SomeOther Address¶
SomeCity 12345¶
我们尝试过的方法:
- 使用 chr(10) 和 chr(13) 的变体,每次出现相同格式的问题。
- 尝试使用 chr(0182) 直接从 SQL 插入段落字符。这会插入段落符号,但它被视为特殊字符(按原样出现)而不是单词中的实际段落符号。
如果有其他方法可以解决此问题,请提出建议。或者是否有更好的方法来满足需求本身。
谢谢。
Word 中的段落符号仅为 ANSI 13。任何其他组合,例如您当前导出到 Word 的 ANSI 10 + ANSI 13,将无法被正确识别。只需去掉 ANSI 10,您应该会得到预期的结果。
好了,我们用到的是SSRS报表中的占位符。 Insider 文本框,放置一些占位符,在导出到 word 时生成 '¶' 和下一行。您可以添加一些静态文本和占位符(用于动态数据)。有了这个,我们不需要更改 SQL 来获取特定格式的数据。
例如。
Address:
[Placeholder-AddressLine1],
[Placeholder-AddressLine2]
[Placeholder-CityAndZip]
我们正在努力为最终用户提供 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 文件时,输出看起来还是一样。但是,如果仔细观察,您会在行尾看到 'line feed' 和 'carriage return character'。对于数据,如果您尝试使用 Mail-Envelop 工具,则地址不会自动进入地址箱。
1234 SomeRoad↵ SomeOther Address↵ SomeCity 12345↵
如果我们手动将这些'return characters'更改为段落符号。通过在每一行的末尾按删除键(下一行出现)然后按回车键(地址行再次转到下一行)。这会将 return 字符 (↵) 删除为段落字符 (¶)。然后,如果您转到邮件信封选项,那么地址将被正确填充。
1234 SomeRoad¶ SomeOther Address¶ SomeCity 12345¶
我们尝试过的方法:
- 使用 chr(10) 和 chr(13) 的变体,每次出现相同格式的问题。
- 尝试使用 chr(0182) 直接从 SQL 插入段落字符。这会插入段落符号,但它被视为特殊字符(按原样出现)而不是单词中的实际段落符号。
如果有其他方法可以解决此问题,请提出建议。或者是否有更好的方法来满足需求本身。 谢谢。
Word 中的段落符号仅为 ANSI 13。任何其他组合,例如您当前导出到 Word 的 ANSI 10 + ANSI 13,将无法被正确识别。只需去掉 ANSI 10,您应该会得到预期的结果。
好了,我们用到的是SSRS报表中的占位符。 Insider 文本框,放置一些占位符,在导出到 word 时生成 '¶' 和下一行。您可以添加一些静态文本和占位符(用于动态数据)。有了这个,我们不需要更改 SQL 来获取特定格式的数据。
例如。
Address:
[Placeholder-AddressLine1],
[Placeholder-AddressLine2]
[Placeholder-CityAndZip]