Страница 1 из 3
Настройка экспорта в несколько файлов
Добавлено: 14 сен 2010, 09:37
4it
Здравствуйте.
Есть отчет с использованием группировки (напр. группировка по должностям).
Задача: Для каждого значения из бэнда группировки (для каждой должности) экспортировать отчет в отдельный файл формата *.rtf. Это возможно сделать? Если да то как, и где нужно прописывать данное условие?
Спасибо.
Настройка экспорта в несколько файлов
Добавлено: 14 сен 2010, 11:17
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);
}
Спасибо.
Настройка экспорта в несколько файлов
Добавлено: 21 сен 2010, 09:24
4it
Здравствуйте.
1) Попробовал использовать предлагаемый вами кусок кода. Наверно я его не туда вставляю. Пробовал в свойства отчета "до печати" и "после печати" и "до экспорта".
2) А если вариант, когда каждая группа (Должность) не помещается на одной странице. Т.е. новая страница не всегда начинается с названия должности сотрудника; бэнды, которые находятся во вложенной группировке также начинаются с новой страницы. Возможно ли привязать экспорт нового файла к секции группировки с должностями?
3) Если сделать форму, в которой при генерации отчета нужно будет вводить путь к экспортируемым папкам, как указать этот путь в коде?
Настройка экспорта в несколько файлов
Добавлено: 22 сен 2010, 10:20
Ivan
Здравствуйте.
4it писал(а):1) Попробовал использовать предлагаемый вами кусок кода. Наверно я его не туда вставляю. Пробовал в свойства отчета "до печати" и "после печати" и "до экспорта".
Экспорты всегда экспортируют весь отчет в один файл. Поэтому с помощью только скриптов в отчете вы нужного эффекта не добьетесь.
Этот код надо вставлять не в отчет, а в ваше приложение.
Предлагаемый вам метод работает так: загружает и рендерит отчет, затем вызывает экспорт по очереди для каждой готовой страницы (каждую в отдельный файл).
4it писал(а):2) А если вариант, когда каждая группа (Должность) не помещается на одной странице. Т.е. новая страница не всегда начинается с названия должности сотрудника; бэнды, которые находятся во вложенной группировке также начинаются с новой страницы. Возможно ли привязать экспорт нового файла к секции группировки с должностями?
В этом случае можно модифицировать метод. Каждая страница имеет свойство ExcelSheet. Исторически это было только имя страницы при экспорте в Эксель, но сейчас это свойство используется и при экспорте в rtf/docx.
Пропишите в этом свойстве выражение, например {номер_сотрудника}. Затем в предлагаемом методе замените экспорт одной страницы на экспорт группы страниц с одинаковым значением ExcelSheet (свойству es.PageRange будет присваиваться не "1", "2", "3", а например "1-3", "4-6", "7-10").
4it писал(а):3) Если сделать форму, в которой при генерации отчета нужно будет вводить путь к экспортируемым папкам, как указать этот путь в коде?
Зависит от того, как будет реализован конечный экспорт.
Если вам необходимо экспортировать именно из вьювера, то придется перехватывать события экспорта и вызывать указанный выше метод из своего кода, а путь к файлам можно передать через переменную словаря.
Спасибо.
Настройка экспорта в несколько файлов
Добавлено: 22 сен 2010, 15:23
4it
Экспорты всегда экспортируют весь отчет в один файл. Поэтому с помощью только скриптов в отчете вы нужного эффекта не добьетесь.
Этот код надо вставлять не в отчет, а в ваше приложение
.
Извините, не совсем понимаю эту фразу:) У меня нет приложения, единственное приложение, которое у меня есть - это ваша программа и ваш отчет:) Или требуемая задача данными средствами не может быть реализована?
Попробую сделать пример того что нужно, выполнить ваши рекомендации и выслать Вам пример отчета.
Спасибо
Настройка экспорта в несколько файлов
Добавлено: 27 сен 2010, 13:35
4it
Здравствуйте.
Навыков программирования все-таки не хватает. Могу сделать когда есть хоть какой-то образец.
Высылаю Вам пример отчета который нужно сделать. Помогите пожалуйста. Обещаю заявить, что у вас лучшая клиентская поддержка, с которой я когда либо сталкивался, хотя я уже так и считаю:)
Настройка экспорта в несколько файлов
Добавлено: 30 сен 2010, 14:51
4it
Здравствуйте, удалось что-нибудь сделать с экспортом? Или есть какие-то проблемы?
Настройка экспорта в несколько файлов
Добавлено: 01 окт 2010, 07:06
Aleksey
Здравствуйте,
Полностью реализовать данную возможность без каких-либо проблем, без использования стороннего приложения нельзя.
Мы реализовали данный экспорт в событие "End Render" отчета.
Посмотрите в приложенном отчете как реализована данная возможность.
Спасибо.
Настройка экспорта в несколько файлов
Добавлено: 01 окт 2010, 08:37
4it
Здравствуйте.
При компиляции отчета пишет следующее:
startIndex не может быть больше, чем длина строки.
Имя параметра: startIndex
Честн говоря я даже такой параметр не могу найти :dumb:
Настройка экспорта в несколько файлов
Добавлено: 01 окт 2010, 09:30
Aleksey
Здравствуйте,
Сделали некоторые изменения. Скачайте еще раз из предыдущего поста.
Спасибо.