纯前台easyui表格导出excel

备注:
1,按钮的id :btnExport 自行绑定点击事件
2,表格的id :StuTab
3,在表格中加入复选框checkbox:true,可导出选中的数据。
4,加上idField:“id”, 可解决分页选中导出。
以下是具体代码:

function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {
 //如果jsondata不是对象,那么json.parse将分析对象中的json字符串。
 var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData)
   : JSONData;
   var sele=$("#StuTab").datagrid('getSelections');
    if(sele!=""){
 var CSV = '';
 //在第一行拼接标题
 CSV += ReportTitle + '\r\n\n';
 //产生数据标头
 if (ShowLabel) {
  var row = "";
  //此循环将从数组的第一个索引中提取标签
  for ( var index in arrData[0]) {
  //现在将每个值转换为字符串和逗号分隔
   row += index + ',';
  }
  row = row.slice(0, -1);
  
  //添加带换行符的标签行
  CSV += row + '\r\n';
  }
 //第一个循环是提取每一行
 for (var i = 0; i < sele.length; i++) {
  var row = "";
  for ( var index in sele[i]) {
  row += '"' + sele[i][index] + '",';
  }
  row.slice(0, row.length - 1);
  CSV += row + '\r\n';
  }
 if (CSV == '') {
  alert("Invalid data");
  return;
 }
 var fileName = "我的学生_";
 fileName += ReportTitle.replace(/ /g, "_");
 var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURI(CSV);
 var link = document.createElement("a");
 link.href = uri;
 link.style = "visibility:hidden";
 link.download = fileName + ".csv";
 document.body.appendChild(link);
 link.click();
 document.body.removeChild(link);
    }else{
     $.messager.alert("提示","请选择需要导出的学生")
    }
    }
$("#btnExport").click(function() {
var data = JSON.stringify($('#StuTab').datagrid('getData').rows);
 if (data == '')
  return;
  JSONToCSVConvertor(data, "数据信息", true);
});

猜你喜欢

转载自blog.csdn.net/IT__Small_white/article/details/90709818