I have the following controller method
public ActionResult Export(string [,] data, string workbookName)
{
ExcelWorkbook workbook = new ExcelWorkbook();
workbook.AddRows(data);
return new FileStreamResult(workbook.SaveSheet(), "application/vnd.ms-excel")
{
FileDownloadName = workbookName
};
}
Which takes a two dimensional array and outputs to a worksheet.
I have failed so far to get anything other than null in the data parameter when posting from jquery with a json array. Does anyone know the correct format of the json needed to populate the data parameter. I am on Jquery 1.7.2.
Here is my jquery
var arguments = {};
arguments.data = [["1"], ["2"], ["3"]];
arguments.workbookName = "test";
//Populate arrayOfValues
$.ajax({
type: "POST",
url: '/Excel/Export',
datatype: "json",
traditional: true,
data: arguments,
success: function (data) {
alert(data);
}
});
datatype(I think it should bedataType) is the type of the response, not the request. I don't think this affects you, but theargumentsvariable looks fine to me. Are you sure you don't mean forarguments.datato be["1", "2", "3"]? What is the server side language?