Category / Section
How to export Grid with Custom Summary?
1 min read
This Knowledge Base explains you how to use Custom Summary while exporting Grid to Word, Excel and Pdf file formats.
Solution:
Create Grid sample for displaying Custom summary. While exporting the Grid, the custom summary will be added to Grid through QuerycustomSummaryinfo event of GridPdfExport, GridWordExport, GridExcelExport.
RAZOR
@(Html.EJ().Grid<object>("Editing") .Datasource((IEnumerable<object>)ViewBag.datasource) .ShowSummary() .SummaryRow(row => { row.Title("Currency").SummaryColumns(col => { col.SummaryType(SummaryType.Custom).CustomSummaryValue("currency").DisplayColumn("Freight").Format("{0:C2}").Add(); }).Add(); }) .ToolbarSettings(toolBar => toolBar.ShowToolbar().ToolbarItems(items => { items.AddTool(ToolBarItems.ExcelExport); items.AddTool(ToolBarItems.WordExport); items.AddTool(ToolBarItems.PdfExport); })) .Columns(col => { col.Field("OrderID").Add(); col.Field("CustomerID").Add(); col.Field("EmployeeID").Add(); col.Field("Freight").Format("{0:C2}").Add(); }) ) <script type="text/javascript"> function currency() { var rs = 100000; var dol = 0.017; return (rs * dol); } </script>
C#
public void ExportToExcel(string GridModel) { GridExcelExport exp1 = new GridExcelExport(); ExcelExport exp = new ExcelExport(); var DataSource = order; GridProperties obj = ConvertGridObject(GridModel); exp1.QueryCustomSummaryInfo = QueryCellInfo; exp1.Theme = "default-theme"; exp1.FileName = "Export.xlsx"; exp.Export(obj, DataSource, exp1); } public void ExportToWord(string GridModel) { WordExport exp = new WordExport(); GridWordExport exp1 = new GridWordExport(); var DataSource = order; GridProperties obj = ConvertGridObject(GridModel); exp1.QueryCustomSummaryInfo = QueryCellInfo; exp1.Theme = "default-theme"; exp1.FileName = "Export.docx"; exp.Export(obj, DataSource, exp1); } public void ExportToPdf(string GridModel) { GridPdfExport exp1 = new GridPdfExport(); PdfExport exp = new PdfExport(); var DataSource = order; GridProperties obj = ConvertGridObject(GridModel); exp1.QueryCustomSummaryInfo = QueryCellInfo; exp1.Theme = "default-theme"; exp1.FileName = "Export.pdf"; exp.Export(obj, DataSource, exp1); } private object QueryCellInfo(IQueryable arg1, SummaryColumn arg2) { var rs = 100000; var dol = 0.017; return (rs * dol); }
ASPX
<ej:Grid ID="FlatGrid" runat="server" OnServerPdfExporting="FlatGrid_ServerPdfExporting" OnServerWordExporting="FlatGrid_ServerWordExporting" OnServerExcelExporting="FlatGrid_ServerExcelExporting"> <ToolbarSettings ShowToolbar="true" ToolbarItems="pdfExport”,”excelExport”,”wordExport"></ToolbarSettings> <SummaryRows> <ej:SummaryRow Title="Currency" > <SummaryColumn> <ej:SummaryColumn SummaryType="Custom" CustomSummaryValue="currency" DisplayColumn="Freight" Format="{0:C2}" /> </SummaryColumn> </ej:SummaryRow> </SummaryRows> <Columns> <ej:Column Field="OrderID" HeaderText="Order ID" /> <ej:Column Field="CustomerID" HeaderText="Customer ID" /> <ej:Column Field="EmployeeID" HeaderText="Employee ID/> <ej:Column Field="Freight" HeaderText="Freight" Format="{0:C2}"/> </Columns> </ej:Grid> <script type="text/javascript"> function currency() { var rs = 100000; var dol = 0.017; return (rs * dol); } </script>
C#
protected void FlatGrid_ServerPdfExporting(object sender, Syncfusion.JavaScript.Web.GridEventArgs e) { GridPdfExport exp1 = new GridPdfExport(); PdfExport exp = new PdfExport(); exp1.QueryCustomSummaryInfo = QueryCellInfo; exp1.Theme = "default-theme"; exp1.FileName = "Export.pdf"; exp.Export(FlatGrid.Model, (IEnumerable)FlatGrid.DataSource, exp1); } protected void FlatGrid_ServerWordExporting(object sender, Syncfusion.JavaScript.Web.GridEventArgs e) { GridWordExport exp1 = new GridWordExport(); WordExport exp = new WordExport(); exp1.QueryCustomSummaryInfo = QueryCellInfo; exp1.Theme = "default-theme"; exp1.FileName = "Export.docx"; exp.Export(FlatGrid.Model, (IEnumerable)FlatGrid.DataSource, exp1); } protected void FlatGrid_ServerExcelExporting(object sender, Syncfusion.JavaScript.Web.GridEventArgs e) { GridExcelExport exp1 = new GridExcelExport(); ExcelExport exp = new ExcelExport(); exp1.QueryCustomSummaryInfo = QueryCellInfo; exp1.Theme = "default-theme"; exp1.FileName = "Export.xlsx"; exp.Export(FlatGrid.Model, (IEnumerable)FlatGrid.DataSource, exp1); } private object QueryCellInfo(IQueryable arg1, SummaryColumn arg2) { var rs = 100000; var dol = 0.017; return (rs * dol); }
Above Code example will export the Grid with Custom Summary in it as shown below.
Figure: Exported Grid with Custom Summary in Pdf File Format.