【问题标题】:How do I export a Crystal Report to a Unicode text file?如何将 Crystal Report 导出到 Unicode 文本文件?
【发布时间】:2008-10-30 16:17:27
【问题描述】:

我正在尝试将 Crystal Report 导出到文本文件,同时保留其中的所有 Unicode 字符。默认情况下,Crystal Reports 似乎导出为 ANSI 文本文件。

这是我正在做的一个高度简化的版本:

Dim objCRReport As CRAXDRT.Report
[...]
objCRReport.ExportOptions.FormatType = 8 'crEFTText
objCRReport.ExportOptions.DestinationType = 1 'crEDTDiskFile
objCRReport.ExportOptions.DiskFileName = "C:\reportInTextFormat.txt"
objCRReport.Export blnPromptUser 

由于它创建了一个 ANSI 格式的文件,因此我丢失了在报告中找到的所有特殊字符。当您直接查看水晶报表时,这些字符都很好。

请注意,我专门引用了“Crystal Reports 9 ActiveX Designer 运行时库”。

【问题讨论】:

    标签: unicode vb6 crystal-reports export ansi


    【解决方案1】:

    我想指出,我已经尝试在导出之前 预先创建一个同名的 Unicode 文件,希望 Crystal 代码会注意到该文件,并附加到它而不是创建一个 ANSI 文件,但不幸的是,情况并非如此。

    然后我想我可以通过导出到一个 RTF 文件(保留字符)然后读取这个 RTF 的内容(减去格式)来解决这个问题(忍者风格)。然后我会自己创建一个 Unicode 文本文件,将 RTF 内容写入其中。不幸的是,为了实现这一点,我不得不考虑使用 RichTextBox,但遇到了很多问题。我想我会在 VB.Net 中取得更大的成功,但不幸的是我被 VB6 困住了。

    在尝试了这些方法后,我发现an article 似乎表明 Crystal Reports 9 支持 导出到 Unicode 文本文件,但我还没有看到它起作用。它提到打印引擎支持它,所以我将深入研究是否可以调用它,以防 .export 本身没有这样做(我怀疑)。

    原来是 Crystal relies heavily on the printer driver for Unicode support,所以我决定调查一下。结果打印机驱动程序支持 Unicode,而这在我的测试环境中的情况。虽然这很有趣,但它并没有解决我的问题 - 我已经有了兼容的打印机驱动程序。

    所以,最后:在尝试了几天解决这个问题后,我的老板决定是时候减少我们的损失了,我们计划重新设计该功能,而不涉及 Crystal Report to Text出口。但是,我仍然对如何使用 Crystal 导出到 Unicode 文本文件非常感兴趣 - 如果您知道如何,请务必回答。

    【讨论】:

    • 您的第二个链接已损坏。其中有一个多余的“https//”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多