Sic*_*ico 8 c# asp.net-mvc jquery
我有以下控制器方法
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
};
}
Run Code Online (Sandbox Code Playgroud)
它采用二维数组并输出到工作表.
到目前为止,当从带有json数组的jquery发布时,我在data参数中获取除null之外的任何内容都失败了.有谁知道填充数据参数所需的正确json格式.我在Jquery 1.7.2上.
这是我的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);
}
});
Run Code Online (Sandbox Code Playgroud)
使用锯齿状阵列而不是多维数组可能会更好.我已经获得了更多成功的锯齿状阵列工作.Explos Pills也是正确的,dataType是响应的类型.通过使用JSON.stringify数据并指定contentType,我能够使用json请求来实现此工作application\json:
控制器:
public ActionResult Test(string[][] fields, string workbookName)
{
var cr = new JsonResult();
cr.Data = fields;
return cr;
}
Run Code Online (Sandbox Code Playgroud)
JS:
var arguments = {};
arguments.fields = new Array(3);
arguments.fields[0] = new Array(3);
arguments.fields[1] = new Array(3);
arguments.fields[2] = new Array(3);
arguments.fields[0][0] = "hello";
arguments.workbookName = "test";
//Populate arrayOfValues
$.ajax({
type: "POST",
url: '/Home/Test',
dataType: "json",
contentType: 'application/json',
traditional: true,
data: JSON.stringify(arguments),
success: function (data) {
alert(data);
}
});
Run Code Online (Sandbox Code Playgroud)