ActiveReports 13
Rendering to Excel
ActiveReports 13 > ActiveReports User Guide > Concepts > Exporting > Rendering Extensions > Rendering to Excel

Microsoft Excel is one of the formats to which you can render your report using ExcelRenderingExtension. You can export excel files in two formats, i.e. Xls and Xlsx.

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 13 Page Report Application and specify a name for the project in the Name field.
  3. Click OK to create a new ActiveReports 13 Page Report Application. By default a Page report is added to the project.
  4. Add reference to GrapeCity.ActiveReports.Export.Excel.dll, GrapeCity.ActiveReports.Core.Export.Excel.Page.dll, and GrapeCity.ActiveReports.Core.Rendering.dll assemblies 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. 
    Visual Basic.NET code. Paste INSIDE the Form Load event.
    Copy Code
    ' Provide the page report you want to render.
    Dim report As New GrapeCity.ActiveReports.PageReport()
    Dim reportDocument As New GrapeCity.ActiveReports.Document.PageDocument(report)
    
    ' Create an output directory.
    Dim outputDirectory As New System.IO.DirectoryInfo("C:\MyExcel")
    outputDirectory.Create()
    
    ' Provide settings for your rendering output.
    Dim excelSetting As New GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings()
    excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls
    Dim setting As GrapeCity.ActiveReports.Extensibility.Rendering.ISettings = excelSetting
    
    ' Set the rendering extension and render the report.
    Dim excelRenderingExtension As New GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension()
    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
    
    reportDocument.Render(excelRenderingExtension, outputProvider, setting.GetSettings())
    
    C# code. Paste INSIDE the Form Load event.
    Copy Code
    // Provide the page report you want to render.
    GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport();
    GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);
    
    // Create an output directory.
    System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyExcel");
    outputDirectory.Create();
    
    // Provide settings for your rendering output.
    GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
    excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
    GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;
    
    // Set the rendering extension and render the report.
    GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
    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;
    
    reportDocument.Render(excelRenderingExtension, outputProvider, setting.GetSettings());
    
Caution: To be able to successfully compile application in Visual Studio 2012, you need to edit app.config file as follows:

Excel Rendering Properties

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

Property Description
PageSettings Returns an ExcelRenderingExtensionPageSettings object for initializing Excel file print setting.
Pagination Forces pagination or galley report layout mode.
Security Returns an ExcelRenderingExtensionSecurity object for initializing document security.
UseDefaultPalette Indicates whether to export the document with the default Excel palette.
FileFormat Specifies the output format of the Excel document, i.e. Xls or Xlsx.
OpenXmlStandard Specifies the level of Open XML document conformance on exporting in Xlsx file format. You can choose from the following values:

Strict

The default value.

Transitional

The Excel file generated by scheduled task execution using Strict (the default value of OpenXMLStandard) cannot be viewed on IOS devices. To change the default value of OpenXMLStandard, add following configuration settings in GrapeCity.ActiveReports.config file:
<ReportingConfiguration>
  <Extensions>
    <Render>
      <Extension Name="Excel" Type="GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension, GrapeCity.ActiveReports.Export.Excel, Culture=neutral, PublicKeyToken=cc4967777c49a3ff" >
        <Settings>
          <Property Name="OpenXmlStandard" Value="Transitional" Type="GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard, GrapeCity.ActiveReports.Export.Excel, Culture=neutral, PublicKeyToken=cc4967777c49a3ff"/>
        </Settings>
      </Extension>
    </Render>
  </Extensions>
</ReportingConfiguration>

MultiSheet Indicates whether to generate a single-sheet or multi-sheet Excel document.
EnableToggles Allows to export collapsible rows in the detail and row groups of the Table control of an RDL report. This property gets displayed in the Export menu when the Pagination property is set to False.

Interactivity

Reports rendered in Excel support a number of interactive features like Bookmarks and Hyperlinks. However, in case you have any data hidden at the time of rendering (like in a drill-down report), it does not show up in the output. It is recommended that you expand all toggle items prior to rendering.

Limitations

See Also