Search Results for

    Show / Hide Table of Contents

    Пример экспорта файла в MVC

    При совместном использовании FastReport .NET с фреймворком ASP.NET MVC существует возможность простого формирования файла в нужном выходном формате при нажатии на кнопку формы.

    Добавляем следующий код во View:

     @using (Html.BeginForm("GetFile", "Home"))
     {
             <input id="pdf" type="submit" value="Export to PDF" />
     }
    
    • GetFile - имя обработчика результатов сабмита формы в контроллере;
    • Home - имя контроллера, в данном случае файл контроллера HomeController.cs.

    Добавляем пространство имен в контроллере:

    using FastReport.Export.Pdf;
    

    Добавляем нужный метод в контроллер:

    public FileResult GetFile()
    {
        WebReport webReport = new WebReport();
        // привязка данных
        System.Data.DataSet dataSet = new System.Data.DataSet();
        dataSet.ReadXml(report_path + "nwind.xml");
        webReport.Report.RegisterData(dataSet, "NorthWind");
        // загружаем нужный файл отчета
        webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx");
        // строим отчет
        webReport.Report.Prepare();
        // сохраняем в нужном формате в поток
        Stream stream = new MemoryStream();
        webReport.Report.Export(new PDFExport(), stream);
        stream.Position = 0;
        // возвращаем результат в браузер
        return File(stream, "application/zip", "report.pdf");
    }
    

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

    Если вам необходим другой формат, то нужно добавить соответствующий uses и вызвать нужный конструктор в строке экспорта. Например, для формата Excel 2007 нужны строки:

    using FastReport.Export.OoXML;
    ...
    webReport.Report.Export(new Excel2007Export(), stream);
    ...
    return File(stream, "application/xlsx", "report.xlsx");
    
    Back to top © 1998-2025 Copyright ООО «Быстрые отчеты»