How to send additional parameters to export method in Spreadsheet
Description
This knowledge base explains how to send additional parameters to export method in Spreadsheet.
Solution
It can be achieved by using “customParams” property in “onExport” client-side event.
HTML
<div id="Spreadsheet"></div>
JS
$("#Spreadsheet").ejSpreadsheet({
exportSettings: {
excelUrl: "Spreadsheet/ExcelExport",
},
onExport: "onExport"
});
Web API
[AcceptVerbs("POST")]
public void ExcelExport()
{
string sheetModel = HttpContext.Current.Request.Params["sheetModel"], sheetData = HttpContext.Current.Request.Params["sheetData"], myData = HttpContext.Current.Request.Params["myData"];
Spreadsheet.Save(sheetModel, sheetData, "Sample", ExportFormat.XLSX, ExcelVersion.Excel2013);
}
RAZOR
@(Html.EJ().Spreadsheet<object>("Spreadsheet")
.ExportSettings(export =>
{
export.ExcelUrl("ExcelExport");
})
.ClientSideEvents(
events => events.OnExport("onExport")
)
)
C#
[AcceptVerbs(HttpVerbs.Post)]
public void ExcelExport(string sheetModel, string sheetData, string myData)
{
Spreadsheet.Save(sheetModel, sheetData, "Sample", ExportFormat.XLSX, ExcelVersion.Excel2013);
}
ASPX
<ej:spreadsheet id="Spreadsheet" onserverexcelexporting="Spreadsheet_ServerExcelExporting" runat="server"> <ClientSideEvents OnExport="onExport" /> <Sheets> <ej:Sheet></ej:Sheet> </Sheets> </ej:spreadsheet>
ASPX.CS
protected void Spreadsheet_ServerExcelExporting(object sender, Syncfusion.JavaScript.Web.SpreadsheetEventArgs e)
{
var args = e.Arguments;
string sheetModel = args["sheetModel"].ToString();
string sheetData = args["sheetData"].ToString();
string myData = args["myData"].ToString();
Spreadsheet.Save(sheetModel, sheetData, "Sample", ExportFormat.XLSX, ExcelVersion.Excel2013);
}
function onExport(args) {
//customParams property is used for sending additional parameters to server.
args.customParams = { myData: "Spreadsheet" };
}
You can refer the below documentation,
https://help.syncfusion.com/js/spreadsheet/open-and-save
