Объединение нескольких отчетов с последующим экспортом в xls

Обсуждение Stimulsoft Reports.NET
Ответить
dSnix
Сообщения: 2
Зарегистрирован: 19 апр 2013, 09:09

Объединение нескольких отчетов с последующим экспортом в xls

Сообщение dSnix »

Здравствуйте!
При объединении страниц из нескольких скомпилированных отчетов, экспорт результирующего отчета создает пустой файл. Предпросмотр также показывает пустой отчет. Предпросмотр каждого исходного отчета работает исправно.

Страницы исходных отчетов объединяются так:

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

        private void ExportReports(params StiReport[] reports)
        {
            var newReport = new StiReport();

            foreach (var stiReport in reports)
            {
                foreach (StiPage stiPage in stiReport.RenderedPages)
                {
                    var page = (StiPage)stiPage.Clone();

                    page.Report = newReport;
                    stiPage.Guid = Guid.NewGuid().ToString().Replace("-", "");
                    newReport.RenderedPages.Add(stiPage); 
                }
            }

            newReport.ExportDocument(StiExportFormat.Excel2007, "filename.xlsx"); ;
        }
В чем может быть проблема?
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Объединение нескольких отчетов с последующим экспортом в

Сообщение HighAley »

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

Вы пишете о скомпилированных отчётах, а в коде добавляете отрендеренные. Попробуйте для начала запустить метод Render().

Спасибо.
dSnix
Сообщения: 2
Зарегистрирован: 19 апр 2013, 09:09

Re: Объединение нескольких отчетов с последующим экспортом в

Сообщение dSnix »

Проблема действительно была в рендере отчетов.
Вот так все работает:

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

private void ExportReports(params StiReport[] reports)
        {
            var newReport = new StiReport();
            newReport.RenderedPages.Clear();
            newReport.NeedsCompiling = false;
            newReport.IsRendered = true; 

            foreach (var stiReport in reports)
            {
                if (!stiReport.IsRendered)
                    stiReport.Render();

                foreach (StiPage stiPage in stiReport.RenderedPages)
                {
                    var page = (StiPage)stiPage.Clone();

                    page.Report = newReport;
                    page.Guid = Guid.NewGuid().ToString().Replace("-", "");
                    newReport.RenderedPages.Add(page); 
                }
            }

            newReport.ExportDocument(StiExportFormat.Excel2007, "filename.xlsx"); ;
        }
Спасибо!
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Объединение нескольких отчетов с последующим экспортом в

Сообщение HighAley »

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

Мы были рады вам помочь.
Обращайтесь, если возникнут ещё вопросы.

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