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

Re: Удаление колонки в Excel - GPF!!!

Добавлено: 30 дек 2016, 00:39
Ivan
Здравствуйте.

Для начала советуем вам изучить следующую статью в нашей документации.
Она поможет вам понять принципы экспорта в нашем продукте.
https://www.stimulsoft.com/ru/documenta ... export.htm
Колонка F, ширина 74.57 (527px) Откуда она взялась?
Посмотрите пожалуйста внимательно на первую строку вашего отчета. Там расположен заголовок "Отгрузка по менеджерам (детализация по дням)."
Этот текстбокс занимает по ширине всю страницу (А4), и соответственно по краю этого текстбокса и делается окончание последней колонки F.
Что это за колонка, когда ширина страницы больше A4 ?
Аналогично, по краю ячейки N располагаются текстбоксы с заголовками "Период..." и "Валюта...".
... в событии thread'а OnCompleted() мы вызываем, в частности такую процедуру SetCrossTabReportFixes(), которая меняет ширину страницы, в соответствии с шириной CrossTab'ов.
Ещё один нюанс. При рэндеринге бэндов по умолчанию ширина бэнда принимается равной ширине страницы.
Поэтому после рендеринга отчета ширина контейнера ReportTitle равна ширине страницы на момент рендеринга (500см).
И этот контейнер, пусть и пустой, при экспорте соответственно даёт большую ширину листа в Excel.
Вообще пустые бэнды в конце рендеринга удаляются со страницы, но в данном случае у ReportTitle прописан Guid (почему - не можем сказать, не удалось воспроизвести ситуацию).
Если у ReportTitle в MRT-файле удалить Guid - контейнера не будет в выходном отчёте, и проблема уйдет.

Также повторимся, что мы сделали необходимую доработку, и теперь колонки большой ширины разбиваются на более узкие колонки с допустимой шириной.
Патч будет включён в следующий предрелизный билд.

Спасибо.

Re: Удаление колонки в Excel - GPF!!!

Добавлено: 09 янв 2017, 10:29
Леонид
Добрый день!

Благодарим за развёрнутый ответ, ситуация прояснилась.

На данный момент из всех отчётов с CrossTab'ами, где ширина страницы меняется динамически, по вашей рекомендации удалили дескриптор <Guid> из </ReportTitle1>, </ReportTitle2> и т.д., - и пока что всё работает, т.е. GPF в Excel'е не возникает, т.е. это решило проблему!
Заметим, что необходимо именно удалить (как вы и говорили) этот тег, иначе, если оставить его в виде <Guid></Guid> (или что тоже самое, просто <Guid/>), то ситуация не поменяется.

Все эти Guid'ы были ещё со времён самых первых версий Stimul'а от 2008 года, когда мы только начали их использовать, и далее, мы просто использовали новые версии Designer.exe для редактирования отчётов. Возможно, это как-то связано с преемственностью версий.

Как только будет релизный билд, то будем обновлять наш софт. Спасибо!