之前记录过一篇,layui table 导出excel 兼容IE浏览器
但这个只能导出当前页面的数据,而用户要求的是导出搜索到的所有数据,那就意味着需要再次请求服务端返回所有数据,我做了一点修改。
传入两个参数,id 这个参数是为了获取表头,body 是服务器返回的数据,根据field 和 key 找到它们相对应的字段,如此一来,表格显示几列导出的数据就会有几列。
//表格导出
function getTableById(id,body) {
//根据传入tableID获取表头
var headers = $("div[lay-id=" + id + "] .layui-table-box table").get(0);
var htrs = unique(headers.querySelectorAll('tr'));
var titles = {
};
for (var j = 0; j < htrs.length; j++) {
var hths = unique(htrs[j].querySelectorAll("th[data-field]"));
for (var i = 0; i < hths.length; i++) {
var clazz = hths[i].getAttributeNode(