Версия FastReport.Net 2018.4 принесла не мало новшеств. Одно из них – возможность задать масштаб страницы Excel документа при печати в настройках Excel экспорта.
Экспортировать отчет в Excel можно в режиме предварительного просмотра либо из кода пользовательского приложения. Давайте рассмотрим оба варианта.
Экспорт в Excel 2007 из режима предварительного просмотра. Для примера я взял отчет с большим количеством строк и столбцов – матрица 100 на 100. Откроем меню экспорта в Excel 2007:
Внизу формы расположена опция «Масштабирование при печати» (Print Scaling). По умолчанию выбрано значение «Фактический размер» (No Scaling). Давайте сделаем экспорт и посмотрим Excel документ в режиме просмотра при печати:
Как видите, отчет не поместился на одну печатную страницу. Потребовалось 6 страниц для нашей матрицы.
Давайте сделаем экспорт отчета еще раз. Но теперь выберем для опции «Масштабирование при печати» (Print Scaling) значение «Все на одной странице» (Fit Sheet on One Page). Что же мы увидим в режиме печати Excel документа?
Масштаб документа уменьшен так, чтобы он целиком поместился на одной странице. Что ж, это очень ценная опция. Зачастую нам необходимо распечатать весь отчет на одной странице. Приходится подбирать масштаб методом проб и ошибок.
Перейдем к следующему значению опции «Масштабирование при печати» (Print Scaling) – «Все колонки на одной странице» (Fit All Columns on One Page). В этом случае наш пример с матрицей будет не самый показательный. Как вы поняли, этот вариант позволяет разместить на одной печатной странице все колонки с данными. При этом строки могут не поместиться на одной странице и будет сгенерирована другая. Но, так как наша матрица квадратная, то и столбцы, и строки поместятся на одной печатной странице.
Поэтому я сгенерирую другую матрицу размерностью 30 на 100. Сделаем ее экспорт в Excel со значением «Все колонки на одной странице» (Fit All Columns on One Page) опции «Масштабирование при печати» (Print Scaling). Посмотрим, как это выглядит в режиме печати в Excel:
Масштаб документа был подобран так, чтобы все колонки помещались в ширине одной страницы. А вот строки не поместились, но нам это и не важно, ведь мы выбрали «Все колонки на одной странице».
Еще одно значение опции «Масштабирование при печати» - «Все строки на одной странице». В этом случае нам важно поместить все строки на одну страницу, а поместятся ли колонки нас не интересует. Давайте сделаем экспорт в Excel нашей матрицы 100 на 100. Посмотрим, что получилось:
Все требования выполнены – строки поместились на одной странице. А столбцов поместилось только 56. Для остальных была создана вторая страница печати.
Итак, мы рассмотри 4 масштаба документа при экспорте отчета в Excel 2007. Теперь посмотрим, как использовать рассмотренную опцию в коде пользовательского приложения:
Доступны 4 значения для PrintMode: NoScaling, FitSheetOnOnePage, FitAllColumsOnOnePage, FitAllRowsOnOnePage.
А для веб отчета доступен только один режим масштабирования Excel документа – Поместить на одной странице:
1 2 |
webReport.XlsxPrintFitPage = true; webReport.ExportExcel2007(); |
Таким образом мы получили в свое распоряжение еще одну полезную опцию.