При выгрузке отчета в excel выделены все страницы одновременно

столкнулся с проблемой выгрузки отчетов в excel, которые имеют структуру 2 и более страниц отчета Проблема заключается в том, что при открытии отчета через веб-форму(построено всё на MVC) формируется EXCEL который автоматически выделяет все страницы отчета Так это выглядит. В таком случае невозможно пользоваться инструментами Excel "Сортировка и фильтр".Сортировка

Приходится руками выделять вторую страницу, чтобы фильтрация становилась доступной.

Отчет построен через FastReport. Страницы отчета сделаны с помощью новой страницы Элемент "ReportPage" Страницы отчета сделаны с помощью новой страницы Элемент "ReportPage" Пробовал менять свойства в FastReport на вкладке страницы отчета, но это не помогло

Функция которая формирует содержимое отчёта :

        public static byte[] Create(DataSet reportData, string fileType, string reportTemplateFilename, Dictionary<string, object> param = null)
    {
        // Содержимое файла
        byte[] fileContent = new byte[0];

        using (FileStream fs =
            new FileStream(HttpContext.Current.Server.MapPath("~/ReportTemplates/" + reportTemplateFilename), FileMode.Open, FileAccess.Read))
        {
            // Формирование отчета в зависимости от выбранного формата
            switch (fileType.ToUpper())
            {
                case "PDF":
                    fileContent = FastReportFactory.CreatePdf(fs, reportData, param);
                    break;
                case "XLSX":
                    fileContent = FastReportFactory.CreateExcel(fs, reportData, param);
                    break;
            }
        }

        return fileContent;
    }
        private static byte[] CreateExcel(Stream fastReportTemplateStream, DataSet ds, RepType repType, Dictionary<string, object> parameters = null)
    {
        FastReport.Utils.Config.WebMode = true;

        using (Report report = new Report())
        {
            report.Load(fastReportTemplateStream);
            report.RegisterData(ds);
            if (parameters != null)
                foreach (var prm in parameters)
                    report.SetParameterValue(prm.Key, prm.Value);
            report.Prepare();

            return CreateReport(report, repType);
        }
    }
public static byte[] CreateReport(Report report, RepType repType)
        {
            using (MemoryStream mem_str = new MemoryStream())
            {
                switch (repType)
                {
                    case RepType.XLSX:
                        report.Export(new FastReport.Export.OoXML.Excel2007Export(), mem_str);
                        break;
                    case RepType.PDF:
                        report.Export(new FastReport.Export.Pdf.PDFExport(), mem_str);
                        break;
                }

                return mem_str.ToArray();
            }
            throw new Exception("не удалось создать MemoryStream");
        }

Вопрос: Как сделать так, чтобы при выгрузке отчета в Excel страницы не выделялись все сразу, чтобы не выполнять доп. действий уже в самом файле для активации фильтрации?


Ответы (0 шт):