导出excel问题总结

    xiaoxiao2021-03-26  34

    插件对比:

    第一种:json2xlsx(需要使用node.js)

    第二种:tableExport(table头部和数据不分离且正常显示的情况)

    第三种:JsonExportExcel(table头部和数据分离 因为使用了easyUI):json转excel 

    GitHub地址:https://github.com/cuikangjie/JsonExportExcel

    第四种:转成cvs

    GitHub地址:https://github.com/zeMirco/json2csv

    (网上其他旁门左道,此方法存在兼容性问题):

    HTML:

    <input type="Button" id="bygen" value="generate" οnclick="cloneAndConvert()"/ >

    Js:

    function cloneAndConvert(){       var jsonData = [     {firstName:"Lorem", lastName:"Lorem", age:46},     {firstName:"Lorem", lastName:"Lorem", age:46},     {firstName:"Lorem", lastName:"Lorem", age:46}     ];         var filteredGridData = JSON.parse(JSON.stringify(jsonData))     JSONToCSVConvertor(filteredGridData, "UserReport.csv", true); } function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {     //If JSONData is not an object then JSON.parse will parse the JSON string in an Object     var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;     var CSV = '';         //This condition will generate the Label/Header     if (ShowLabel) {         var row = "";                  //This loop will extract the label from 1st index of on array         for (var index in arrData[0]) {             //Now convert each value to string and comma-seprated             row += index + ',';         }         row = row.slice(0, -1);         //append Label row with line break         CSV += row + '\r\n';     }          //1st loop is to extract each row     for (var i = 0; i < arrData.length; i++) {         var row = "";         //2nd loop will extract each column and convert it in string comma-seprated         for (var index in arrData[i]) {             row += '"' + arrData[i][index] + '",';         }         row.slice(0, row.length - 1);         //add a line break after each row         CSV += row + '\r\n';     }     if (CSV == '') {                 alert("Invalid data");         return;     }             //this trick will generate a temp "a" tag     var link = document.createElement("a");         link.id="lnkDwnldLnk";          //this part will append the anchor tag and remove it after automatic click     document.body.appendChild(link);     var csv = CSV; blob = new Blob([csv], { type: 'text/csv' });  var csvUrl = window.webkitURL.createObjectURL(blob); var filename = 'UserExport.csv'; $("#lnkDwnldLnk") .attr({ 'download': filename, 'href': csvUrl });  $('#lnkDwnldLnk')[0].click();         document.body.removeChild(link); }

    转载请注明原文地址: https://ju.6miu.com/read-659352.html

    最新回复(0)