Изменение высоты строки в Excel после рендеринга с помощью ASP.Net SSRS ReportViewer - PullRequest
1 голос
/ 21 января 2010

У меня есть отчет SSRS, в котором есть поле «Комментарии», в котором достаточно текста, чтобы охватить несколько строк на запись. Он хорошо отображается в элементе управления ASP.Net ReportViewer, но при экспорте форматирование может быть другим. Экспорт в Word выглядит фантастически. Но при экспорте в Excel и PDF высота строки для каждой записи никогда не увеличивается сверх значения по умолчанию, поэтому текст просто усекается. В Excel я могу войти в систему и дважды щелкнуть по отдельным или нескольким высотам строк, чтобы исправить их, но это дополнительный шаг, который нам не нужен.

Поскольку из ReportViewer не происходит событие «exported», как я могу это исправить, чтобы оно правильно экспортировало / форматировало в Excel? Есть ли способ сделать это внутри ReportViewer во время рендеринга, или мне нужно подумать о создании файла Excel, а затем перейти к нему, чтобы изменить его с помощью кода VBA за фактом? Есть идеи?

Ответы [ 2 ]

3 голосов
/ 08 февраля 2010

Это правда, что вы не можете сказать, когда пользователь нажимает кнопку экспорта, если он использует диспетчер отчетов. Но вы можете контролировать процесс, если вы предоставляете собственный веб-интерфейс для создания отчетов. Вы можете получить отчеты из SSRS, используя веб-сервисы . Затем вы можете открыть и обработать электронную таблицу в своем коде, используя серверный инструмент манипулирования Excel, такой как SoftArtisans OfficeWriter, и передать его пользователю.

Отказ от ответственности: я работаю на SoftArtisans

1 голос
/ 25 января 2010

К сожалению, не так много настроек, которые можно сделать для встроенных средств визуализации reportViewer. Вы можете настроить некоторые выходные данные рендерера через строку DeviceInfo, но ничего для того, что вы пытаетесь сделать. ( Информация об DeviceInfo )

Есть несколько сторонних рендеров, которые вы можете приобрести, что даст вам гораздо больший контроль. Я никогда не сталкивался с бесплатным.

Вы можете начать писать свой собственный рендерер, но я настоятельно рекомендую вам этого не делать, так как в этой ситуации это было бы излишним (потребовалось бы очень много времени, чтобы это осуществить).

Кроме того, вы можете написать код, чтобы открыть файл Excel через COM, и изменить его. Вы могли бы на самом деле кодировать это сразу после завершения экспорта, упрощая его. Или вы также можете написать несколько макросов VBA для Excel, как вы упомянули.

...