最近一直在弄jqgrid,都是准备在新的项目上的难点。在此过程中遇到了jqgrid需要导出数据至csv,在网上查找了各种资料,没有现成的样例,网上只有导出当前页面上的表格,而项目需要导出所有的数据,所以只有自己在前辈的基础上修改了
以下代码根据网上js导出csv修改而成
$("#del").click(function () {
var title = "人员信息";
var array = new Array();
//alert($("thead").html());查看jqgrid形成的table的html样子 $("th").each(function (i, item) {//遍历jqgrid表头 var idTemp = $(item).attr("id");//获取表头的字段,显示时是如list2_name,其中list2为table的id if ($("#" + idTemp).css("display") != "none") { //获取显示的字段和列名,由于此项目可以让客户配置列的显示和顺序,所以导出数据时也要判断哪些列需要导出,哪些不需要导出 var id = idTemp.replace("list2_", "");
var colName = $(item).text();
var obj = colName + "," + id;
array.push(obj);
}
});
$.ajax({//获取返回的json数据,data是传递后台所需要查询的字段 type: "POST",
url: "Account/Export",
data: { "ID": "id", "UserNo": "userNo", "Name": "Name", "Password": "Password", "Email": "Email" },
dataType: "json",
success: function (data) {
getXlsFromTbl(array, data, title)
}
});
});
function getXlsFromTbl(array, data, title) {
try {
var allStr = "";
var curStr = "";