如何将Crystal报表导出到Unicode文本文件?

如何将Crystal报表导出到Unicode文本文件?,unicode,vb6,crystal-reports,export,ansi,Unicode,Vb6,Crystal Reports,Export,Ansi,我正在尝试将Crystal报表导出到文本文件,同时保留在其中找到的任何Unicode字符。默认情况下,Crystal Reports似乎导出为ANSI文本文件 以下是我所做工作的高度简化版本: Dim objCRReport As CRAXDRT.Report [...] objCRReport.ExportOptions.FormatType = 8 'crEFTText objCRReport.ExportOptions.DestinationType = 1 'crEDTDiskFile

我正在尝试将Crystal报表导出到文本文件,同时保留在其中找到的任何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报告时,这些字符都很好


请注意,我特别引用了“Crystal Reports 9 ActiveX Designer运行库”。

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

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

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

原来是水晶,所以我决定研究一下。原来打印机驱动程序必须支持Unicode,在我的测试环境中就是这样。虽然这是有趣的发现,但它并没有解决我的问题-我已经有了一个兼容的打印机驱动程序


因此,最后:经过几天的努力寻找解决方案,我的老板决定是时候减少我们的损失了,我们计划重新设计该功能,而不涉及Crystal Report到文本导出。然而,我仍然对如何使用Crystal导出到Unicode文本文件非常感兴趣,所以如果您知道如何导出,请务必回答。

您的第二个链接已断开。其中有一个冗余的“https/”。