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

Обсуждение Stimulsoft Reports.NET
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

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

Сообщение 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 - контейнера не будет в выходном отчёте, и проблема уйдет.

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

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

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

Сообщение Леонид »

Добрый день!

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

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

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

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