Как экспортировать отчет Crystal Report в текстовый файл Unicode?

Я пытаюсь экспортировать отчет 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 Report напрямую.

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


person Matt Refghi    schedule 30.10.2008    source источник


Ответы (1)


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

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

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

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

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

person Matt Refghi    schedule 30.10.2008
comment
Ваша вторая ссылка битая. В нем есть лишний «https//». - person Mike Spross; 03.11.2008