New to Telerik UI for WinForms? Download free 30-day trial

Export two or more grids to a single sheet

Environment

Product Version Product Author
2019.3.917 RadGridView for WinForms Dimitar Karamfilov

Problem

You have two or more grids and you want to export them to a single sheet in the same file.

Solution

To achieve this you need to copy the contents of the second sheet in the first one. The bellow example demonstrates how you can implement this approach.

private void radButton1_Click(object sender, EventArgs e)
{

    GridViewSpreadExport spreadExporter = new GridViewSpreadExport(this.radGridView1);         
    SpreadExportRenderer exportRenderer = new SpreadExportRenderer();          
    spreadExporter.RunExport("D:\\temp.xlsx", exportRenderer);

    spreadExporter = new GridViewSpreadExport(this.radGridView1);

    exportRenderer.WorkbookCreated += ExportRenderer_WorkbookCreated;
    spreadExporter.RunExport("D:\\temp.xlsx", exportRenderer);
}

private void ExportRenderer_WorkbookCreated(object sender, WorkbookCreatedEventArgs e)
{
    var sheet1 = e.Workbook.Sheets[0] as Worksheet;
    var sheet2 = e.Workbook.Sheets[1] as Worksheet;

    var fragment = sheet2.Cells[sheet2.UsedCellRange].Copy();


    sheet1.Cells[sheet1.UsedCellRange.RowCount + 1, 0].Paste(fragment, PasteOptions.All);

}
In this article