Как экспортировать отчет Crystal Report в текстовый файл Unicode? - PullRequest
0 голосов
/ 30 октября 2008

Я пытаюсь экспортировать отчет Crystal Report в текстовый файл, сохраняя все найденные в нем символы Юникода. По умолчанию 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.

Обратите внимание, что я ссылаюсь на «Библиотеку времени выполнения ActiveX Designer Crystal Reports 9».

1 Ответ

1 голос
/ 30 октября 2008

Хочу отметить, что я пытался предварительно создать файл Unicode с тем же именем до для экспорта, надеясь, что код Crystal заметит файл и добавит его вместо создания файл ANSI, но, к сожалению, это не так.

Затем я подумал, что смогу обойти эту проблему (стиль ниндзя), просто экспортировав в файл RTF (который сохраняет символы), а затем прочитав содержимое этого RTF (за исключением форматирования). Затем я сам создал бы текстовый файл Unicode, записав в него содержимое RTF. К сожалению, чтобы добиться этого, мне пришлось изучить использование RichTextBox, но столкнулся с множеством проблем с этим. Я думаю, что у меня будет больше успеха в VB.Net, но, к сожалению, я застрял с VB6 для этой задачи.

Попробовав эти подходы, я обнаружил статью , в которой, похоже, говорится, что Crystal Reports 9 поддерживает экспорт в текстовый файл Unicode, но я пока не видел, как он работает. В нем упоминается, что механизм печати поддерживает его, поэтому я собираюсь взглянуть глубже, чтобы выяснить, могу ли я его вызвать, если сам .export не делает этого сам (в чем я сомневаюсь).

Оказывается, Crystal в значительной степени зависит от драйвера принтера для поддержки Unicode , поэтому я решил разобраться в этом. Оказывается, драйвер принтера имел для поддержки Unicode, и это было случаем в моей тестовой среде. Хотя это было интересно узнать, это не решило мою проблему - у меня уже был совместимый драйвер принтера.

Итак, наконец: после нескольких дней попыток найти решение этой проблемы, мой начальник решил, что пришло время сократить наши потери, и вместо этого мы планировали переделать эту функцию без привлечения Crystal Report to Text. экспорт. Однако я по-прежнему очень заинтересован в том, как экспортировать в текстовый файл Unicode с помощью Crystal - поэтому, пожалуйста, ответьте, если знаете, как.

...