Настройка экспорта в несколько файлов

Обсуждение Stimulsoft Reports.NET
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Настройка экспорта в несколько файлов

Сообщение 4it »

Здравствуйте.

Есть отчет с использованием группировки (напр. группировка по должностям).

Задача: Для каждого значения из бэнда группировки (для каждой должности) экспортировать отчет в отдельный файл формата *.rtf. Это возможно сделать? Если да то как, и где нужно прописывать данное условие?

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

Настройка экспорта в несколько файлов

Сообщение Ivan »

Здравствуйте.

Готового решения для такой задачи нет.
В зависимости от данных и формы отчета может быть несколько путей решения.

Рассмотрим вариант, когда каждая группа (должность) помещается на одной странице.
Устанавливаем для заголовка группы свойство NewPageBefore = true, и используем следующий код:

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

            StiReport report = new StiReport();
            report.Load("D:\\YourReport.mrt");
            report.Render();

            Stimulsoft.Report.Export.StiRtfExportSettings es = new Stimulsoft.Report.Export.StiRtfExportSettings();
            for (int index = 0; index < report.RenderedPages.Count; index++)
            {
                string pageNumber = (index + 1).ToString();
                es.PageRange = new StiPagesRange(pageNumber);
                report.ExportDocument(StiExportFormat.Rtf, "d:\\ReportName_Page" + pageNumber + ".Rtf", es);
            }
Спасибо.
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Настройка экспорта в несколько файлов

Сообщение 4it »

Здравствуйте.

1) Попробовал использовать предлагаемый вами кусок кода. Наверно я его не туда вставляю. Пробовал в свойства отчета "до печати" и "после печати" и "до экспорта".

2) А если вариант, когда каждая группа (Должность) не помещается на одной странице. Т.е. новая страница не всегда начинается с названия должности сотрудника; бэнды, которые находятся во вложенной группировке также начинаются с новой страницы. Возможно ли привязать экспорт нового файла к секции группировки с должностями?

3) Если сделать форму, в которой при генерации отчета нужно будет вводить путь к экспортируемым папкам, как указать этот путь в коде?
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Настройка экспорта в несколько файлов

Сообщение Ivan »

Здравствуйте.
4it писал(а):1) Попробовал использовать предлагаемый вами кусок кода. Наверно я его не туда вставляю. Пробовал в свойства отчета "до печати" и "после печати" и "до экспорта".
Экспорты всегда экспортируют весь отчет в один файл. Поэтому с помощью только скриптов в отчете вы нужного эффекта не добьетесь.
Этот код надо вставлять не в отчет, а в ваше приложение.
Предлагаемый вам метод работает так: загружает и рендерит отчет, затем вызывает экспорт по очереди для каждой готовой страницы (каждую в отдельный файл).
4it писал(а):2) А если вариант, когда каждая группа (Должность) не помещается на одной странице. Т.е. новая страница не всегда начинается с названия должности сотрудника; бэнды, которые находятся во вложенной группировке также начинаются с новой страницы. Возможно ли привязать экспорт нового файла к секции группировки с должностями?
В этом случае можно модифицировать метод. Каждая страница имеет свойство ExcelSheet. Исторически это было только имя страницы при экспорте в Эксель, но сейчас это свойство используется и при экспорте в rtf/docx.
Пропишите в этом свойстве выражение, например {номер_сотрудника}. Затем в предлагаемом методе замените экспорт одной страницы на экспорт группы страниц с одинаковым значением ExcelSheet (свойству es.PageRange будет присваиваться не "1", "2", "3", а например "1-3", "4-6", "7-10").
4it писал(а):3) Если сделать форму, в которой при генерации отчета нужно будет вводить путь к экспортируемым папкам, как указать этот путь в коде?
Зависит от того, как будет реализован конечный экспорт.
Если вам необходимо экспортировать именно из вьювера, то придется перехватывать события экспорта и вызывать указанный выше метод из своего кода, а путь к файлам можно передать через переменную словаря.

Спасибо.
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Настройка экспорта в несколько файлов

Сообщение 4it »

Экспорты всегда экспортируют весь отчет в один файл. Поэтому с помощью только скриптов в отчете вы нужного эффекта не добьетесь.
Этот код надо вставлять не в отчет, а в ваше приложение
.

Извините, не совсем понимаю эту фразу:) У меня нет приложения, единственное приложение, которое у меня есть - это ваша программа и ваш отчет:) Или требуемая задача данными средствами не может быть реализована?

Попробую сделать пример того что нужно, выполнить ваши рекомендации и выслать Вам пример отчета.

Спасибо
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Настройка экспорта в несколько файлов

Сообщение 4it »

Здравствуйте.
Навыков программирования все-таки не хватает. Могу сделать когда есть хоть какой-то образец.

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

Вложения
med-01.accdb
(784 КБ) 358 скачиваний
Экспорт в разные файлы.mrt
(24.96 КБ) 174 скачивания
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Настройка экспорта в несколько файлов

Сообщение 4it »

Здравствуйте, удалось что-нибудь сделать с экспортом? Или есть какие-то проблемы? :blush:
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Настройка экспорта в несколько файлов

Сообщение Aleksey »

Здравствуйте,

Полностью реализовать данную возможность без каких-либо проблем, без использования стороннего приложения нельзя.
Мы реализовали данный экспорт в событие "End Render" отчета.
Посмотрите в приложенном отчете как реализована данная возможность.

Спасибо.
Вложения
ReportExportSegments.mrt
(24.27 КБ) 379 скачиваний
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Настройка экспорта в несколько файлов

Сообщение 4it »

Здравствуйте.

При компиляции отчета пишет следующее:

startIndex не может быть больше, чем длина строки.
Имя параметра: startIndex

Честн говоря я даже такой параметр не могу найти :dumb:
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Настройка экспорта в несколько файлов

Сообщение Aleksey »

Здравствуйте,

Сделали некоторые изменения. Скачайте еще раз из предыдущего поста.

Спасибо.
Ответить