Asp.net mvc 4 使用jqgrid导出到mvc4 razor中的excel
我正在使用jqgrid和export to excel我的Razor代码如下所示:Asp.net mvc 4 使用jqgrid导出到mvc4 razor中的excel,asp.net-mvc-4,razor,jqgrid,Asp.net Mvc 4,Razor,Jqgrid,我正在使用jqgrid和export to excel我的Razor代码如下所示: //Set and activate navigations jQuery("#analyticGridPager").jqGrid('navGrid', '#analyticGridPager', { add: false, edit: false, del: false, search: false }, {}, {}, {}
//Set and activate navigations
jQuery("#analyticGridPager").jqGrid('navGrid', '#analyticGridPager', { add: false, edit: false, del: false, search: false },
{}, {}, {}, { multipleSearch: false, overlay: false, width: 480 }).jqGrid('navButtonAdd',
'#analyticGridPager',
{
caption: " Export to Excel ",
buttonicon: "ui-icon-bookmark",
onClickButton: function () {
exportExcel($(this));
}, position: "last"
});
function exportExcel() {
grid = $("#analyticGrid")
var mya = new Array();
mya = grid.getDataIDs(); // Get All IDs
var data = grid.getRowData(mya[0]); // Get First row to get the labels
var colNames = new Array();
var ii = 0;
for (var i in data) { colNames[ii++] = i; } // capture col names
var html = "";
for (k = 0; k < colNames.length; k++) {
html = html + colNames[k] + "\t";
// output each Column as tab delimited
}
html = html + "\n"; // Output header with end of line
for (i = 0; i < mya.length; i++) {
data = grid.getRowData(mya[i]); // get each row
for (j = 0; j < colNames.length; j++) {
html = html + data[colNames[j]] + "\t"; // output each Row as tab delimited
}
html = html + "\n"; // output each row with end of line
}
html = html + "\n"; // end of line at the end
//alert(html);
var params = { "htmlMarkup": html }
var str = jQuery.param(params);
window.open("/Analytics/CsvExport?" + str, '_blank')
}
请纠正我做错的地方。请替换为以下内容,它将正常工作 同时更新您的web.config 更新控制器操作。 字符串htmlMarkup=Request.QueryString[“htmlMarkup”].ToString() 更新您的web.cofig
<httpRuntime targetFramework="4.5" requestValidationMode="2.0" maxUrlLength="10999" relaxedUrlToFileSystemMapping="true" maxQueryStringLength="2097151" enable="true" executionTimeout="60000" maxRequestLength="30000000" />
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
byte[] contents = Encoding.ASCII.GetBytes(htmlMarkup);
Response.End();
return File(contents, "application/excel");
<httpRuntime targetFramework="4.5" requestValidationMode="2.0" maxUrlLength="10999" relaxedUrlToFileSystemMapping="true" maxQueryStringLength="2097151" enable="true" executionTimeout="60000" maxRequestLength="30000000" />