Страница 1 из 1

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 02 июл 2010, 12:06
Alkatraz
Здравствуйте!

Требуется сделать экспорт данных в формат *.txt набора данных. В наборе данных все поля должны иметь жестко заданную длинну, это реализовано с помощью приведения всех полей к типу Char() с указанием длинны. В отчете все поля помещаются в элемент "Текст", развернутый на всю ширину страницы. Страница подгонияется по ширине к максимальной ширине набора данных. В элементе "Текст" все поля указываются поочередно, т.е. "{Report.Field1}{Report.Field2}{Report.Field3}{Report.Field4}" и т.д.

В предпросмотре все выглядит нормально, но при экспорте, во всех строках обрезаются все пробелы в конце строки. Как сделать, чтобы хвостовые пробелы не обрезались при экспорте в *.txt?

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 03 июл 2010, 14:29
Ivan
Здравствуйте.

Попробуйте установить статическое свойство StiOptions.Export.Txt.TrimTrailingSpaces в false.

Спасибо.

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 04 июл 2010, 12:44
Alkatraz
Хммм, при установке StiOptions.Export.Txt.TrimTrailingSpaces в false выдантся ошибка "Индекс находился вне границ массива." при экспорте., при включении опции - все нормально.

Я поставил ширину листа 200 см, что бы на нем поместилась вся информация - возможно, в этом ошибка.

Есть какие-либо рекомендации по созданию отчетов для экспорта в текстовые файлы?

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 05 июл 2010, 06:07
Ivan
Здравствуйте.
Alkatraz писал(а):Хммм, при установке StiOptions.Export.Txt.TrimTrailingSpaces в false выдантся ошибка "Индекс находился вне границ массива." при экспорте., при включении опции - все нормально.
Я поставил ширину листа 200 см, что бы на нем поместилась вся информация - возможно, в этом ошибка.
Вышлите пожалуйста пример отчета с данными, на которых воспроизводится ошибка, для анализа.

Спасибо.

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 05 июл 2010, 07:03
Alkatraz
Разобрался, в чем дело - надо было отключить WordWrap в ячейках экспортной страницы. Видимо функция обработки переноса строк не могла обаботать строки такой длины.

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 05 июл 2010, 07:04
Andrew
Отлично, что проблема решена!

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 05 июл 2010, 08:21
Alkatraz
Скажите - как можно поставить кодировку выходного текстового файла DOS?

Экспорт в текст - обрезаются пробелы в конце строки

Добавлено: 05 июл 2010, 11:05
Ivan
Здравствуйте.
Alkatraz писал(а):Скажите - как можно поставить кодировку выходного текстового файла DOS?
Через меню экспорта на данный момент можете установить только английскую кодировку ASCII, через ExportSettings вы можете установить любую кодировку, например:

Код: Выделить всё

            StiTxtExportSettings es = new StiTxtExportSettings();
            es.Encoding = Encoding.GetEncoding(866);
            report.ExportDocument(StiExportFormat.Text, "myFile.txt", es);
Alkatraz писал(а):Разобрался, в чем дело - надо было отключить WordWrap в ячейках экспортной страницы. Видимо функция обработки переноса строк не могла обработать строки такой длины.
Все-таки вышлите какой-нибудь пример отчета, на котором воспроизводится проблема. Если ошибка есть, её надо исправлять.

Спасибо.