ActiveReports 15 .NET Edition
ActiveReports 15 User Guide / Export Reports / Rendering Extensions / Rendering to Excel Data
In This Topic
    Rendering to Excel Data
    In This Topic

    Excel Data is one of the formats to which you can render your report using ExcelTransformationDevice. You can export excel files in two formats, Xlsx and Csv.

    Excel Data exports only data from Tablix, Table, and Matrix data regions, preserving the data region structure and ignoring layout-related features (page break, cumulative total, etc). Other controls and data regions of the original report are ignored at this export.

    Note: If a report does not contain any data region (Table or Tablix), a Csv file is not generated.

    For the Xlsx format, when a report has multiple data regions, each data region is exported to a separate excel sheet.

    For the Csv format, a separate CSV file is created for each data region, available in the report.

    The following steps provide an example of rendering a report in the Microsoft Excel format.

    1. Create a new Visual Studio project.
    2. In the New Project dialog that appears, select ActiveReports 15 Page Report Application and specify a name for the project in the Name field.
    3. Click OK to create a new ActiveReports 15 Page Report Application. By default a Page report is added to the project.
    4. Add reference to GrapeCity.ActiveReports.Export.Excel package in the project.
    5. On the Form.cs or Form.vb that opens, double-click the title bar to create the Form_Load event.
    6. Add the following code inside the Form_Load event. 

      Csv Data

      Visual Basic.NET code. Paste INSIDE the Form Load event.
      Copy Code
      ' Provide the page report you want to render.
      Dim rptPath As System.IO.FileInfo = New System.IO.FileInfo("..\..\PageReport1.rdlx")
      
      Dim pageReport As GrapeCity.ActiveReports.PageReport = New GrapeCity.ActiveReports.PageReport(rptPath)
      
      ' Create an output directory.
      Dim outputDirectory As New System.IO.DirectoryInfo("C:\MyCsvData")
      outputDirectory.Create()
      
      ' Provide settings for your rendering output.
      Dim settings = New GrapeCity.ActiveReports.Export.Excel.Page.Settings() 
      
      settings.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.ExcelDataFileFormat.Csv
      settings.Csv.ColumnsDelimiter = ","
      settings.Csv.Encoding = System.Text.Encoding.UTF8
      settings.Csv.NoHeader = False
      settings.Csv.QuotationSymbol = """"c
      settings.Csv.RowsDelimiter = vbCrLf
      
      ' Set the rendering extension and render the report.
      Dim outputProvider As New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name))
      
      ' Overwrite output file if it already exists.
      outputProvider.OverwriteOutputFile = True
      pageReport.Document.Render(New GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice(), outputProvider, settings)
      
      C# code. Paste INSIDE the Form Load event.
      Copy Code
      // Provide the page report you want to render.
      System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\PageReport1.rdlx");
      
      GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);
      
      // Create an output directory.
      System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyCsvData");
      outputDirectory.Create();
      
      // Provide settings for your rendering output.
      var settings = new GrapeCity.ActiveReports.Export.Excel.Page.Settings();
      
      settings.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.ExcelDataFileFormat.Csv;
      settings.Csv.ColumnsDelimiter = ",";
      settings.Csv.Encoding = Encoding.UTF8;
      settings.Csv.NoHeader = false;
      settings.Csv.QuotationSymbol = '"';
      settings.Csv.RowsDelimiter = "\r\n";
      
      // Set the rendering extension and render the report.
      GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
      
      // Overwrite output file if it already exists.
      outputProvider.OverwriteOutputFile = true;
      pageReport.Document.Render(new GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice(), outputProvider, settings);
      

      Excel Data

      Visual Basic.NET code. Paste INSIDE the Form Load event.
      Copy Code
      ' Provide the page report you want to render.
      Dim rptPath As System.IO.FileInfo = New System.IO.FileInfo("..\..\PageReport1.rdlx")
      
      Dim pageReport As GrapeCity.ActiveReports.PageReport = New GrapeCity.ActiveReports.PageReport(rptPath)
      
      ' Create an output directory.
      Dim outputDirectory As New System.IO.DirectoryInfo("C:\MyExcelData")
      outputDirectory.Create()
      
      ' Provide settings for your rendering output.
      
      Dim settings = New GrapeCity.ActiveReports.Export.Excel.Page.Settings()
      
      settings.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.ExcelDataFileFormat.Xlsx
      settings.Xlsx.AllowImages = True
      settings.Xlsx.UseCompression = True
      settings.Xlsx.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Transitional
      settings.Xlsx.Security.ReadOnlyRecommended = True
      
      ' Set the rendering extension and render the report.
      Dim outputProvider As New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name))
      
      ' Overwrite output file if it already exists.
      outputProvider.OverwriteOutputFile = True
      pageReport.Document.Render(New GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice(), outputProvider, settings)
      
      C# code. Paste INSIDE the Form Load event.
      Copy Code
      // Provide the page report you want to render.
      System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\PageReport1.rdlx");
      
      GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);
      
      // Create an output directory.
      System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyExcelData");
      outputDirectory.Create();
      
      // Provide settings for your renderidng output.
      var settings = new GrapeCity.ActiveReports.Export.Excel.Page.Settings();
      
      settings.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.ExcelDataFileFormat.Xlsx;
      settings.Xlsx.AllowImages = true;
      settings.Xlsx.UseCompression = true;   
      settings.Xlsx.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Transitional;
      settings.Xlsx.Security.ReadOnlyRecommended = true;
      
      // Set the rendering extension and render the report.
      GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
      
      // Overwrite output file if it already exists.
      outputProvider.OverwriteOutputFile = true;
      pageReport.Document.Render(new GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice(), outputProvider, settings);
      

    Excel Data Rendering Properties

    ActiveReports offers several options to control how reports render to Excel Data.

    Property Description
    Csv Csv related properties. See Csv Rendering Properties below.
    FileFormat Indicates whether to use Csv or OpenXml format for the output file.
    Xlsx OpenXml related properties. See Xlsx Rendering Properties below.

    Csv Rendering Properties

    Property Description
    ColumnsDelimiter Sets or returns the text inserted between columns.
    Encoding Specifies the encoding schema for output.
    NoHeader Specifies whether to omit the CSV Header.
    QuotationSymbol Sets or returns the qualifier character to put around results.
    RowsDelimiter Sets or returns the text inserted between rows.

    Xlsx Rendering Properties

    Property Description
    AllowImages Indicates whether to allow images or just plain data content.
    AutoRowsHeight Indicates whether to export rows height or specify auto height.
    OpenXmlStandard

    Specifies the level of Open XML document conformance on exporting in Xlsx file format. You can choose from the following values:

    • Transitional: The default value.
    • Strict: The Excel file generated using Strict cannot be viewed on iOS devices.         
    RightToLeft

    Shows direction of sheets from right to left.

    Security Returns an ExcelRenderingExtensionSecurity object for initializing document security.
    UseCompression Indicates whether to use compression on exporting to an Xlsx file.