|
<input type="button" onclick="Export()" value="Export" />
<ej-grid id="FlatGrid" allow-paging="true">
<e-edit-settings allow-adding="true" allow-editing="true" allow-deleting="true"></e-edit-settings>
<e-toolbar-settings show-toolbar="true" toolbar-items='@new List<string> {"add","edit","update","cancel"}' />
<e-datamanager url="/api/Orders" adaptor="WebApiAdaptor"></e-datamanager>
<e-columns>
<e-column field="OrderID" header-text="Order ID" text-align="Right" width="75" is-primary-key="true"></e-column>
<e-column field="CustomerID" header-text="Customer ID" width="80"></e-column>
<e-column field="EmployeeID" header-text="EmployeeID" width="80"></e-column>
<e-column field="ShipCity" header-text="ShipCity" width="110"></e-column>
</e-columns>
</ej-grid>
<script type="text/javascript">
function Export() {
var gridObj = $("#FlatGrid").ejGrid("instance");
gridObj.model["exportModel"] = "gridmodel";
gridObj.export('@Url.Action("Export", "Home")');
}
</script>
[controller.cs]
public ActionResult Export(string GridModel)
{
ExcelExport exp = new ExcelExport();
var DataSource = _context.Orders.Take(100).ToList();
GridProperties gridProp = ConvertGridObject(GridModel);
GridExcelExport excelExp = new GridExcelExport();
excelExp.FileName = "Export.xlsx"; excelExp.Excelversion = ExcelVersion.Excel2010;
excelExp.Theme = "flat-saffron";
return exp.Export(gridProp, DataSource, excelExp);
}
private GridProperties ConvertGridObject(string gridProperty)
{
GridProperties gridProp = new GridProperties();
gridProp = (GridProperties)JsonConvert.DeserializeObject(gridProperty, typeof(GridProperties));
return gridProp;
} |