/*******************导出数据到excel************/ function exportExcel(grid) { var jsonStore = "";// 用户存放数据 var head = "";// 用户存放表头 var flag = true;// 标记 ,为第一次循环时加载head(只需加载一次) var cfg = null; var ds = grid.getStore(); var cm = grid.getColumnModel(); ds.each(function(record) { jsonStore += "&{"; for (var i = 0; i < cm.config.length; i++) { cfg = cm.config[i]; if (cfg.dataIndex && !cfg.hidden) { if (flag) head += "&{\"ename\":\"" + cfg.dataIndex + "\",\"cname\":\"" + cfg.header + "\",\"width\":\"" + (cfg.width || 20) + "\"}"; var val = record.get(cfg.dataIndex); if (cfg.renderer) { val = cfg.renderer(val); } jsonStore += "\""+cfg.dataIndex + "\":\"" + val + "\","; } } jsonStore = jsonStore.substring(0, jsonStore.length - 1); jsonStore += "}"; flag = false; }); head = head.substring(1); jsonStore = jsonStore.substring(1); document .write("<form name='formExcel' action='exportExcel.action' method='post' style='display:none'>"); document.write("<input type=text name='jsonStore' value='" + jsonStore + "'/>"); document.write("<input type=text name='head' value='" + head + "'/>"); document.write("</form>"); document.formExcel.submit(); }