首页 > 编程 > JavaScript > 正文

javascript将json格式数组下载为excel表格的方法

2019-11-19 14:40:09
字体:
来源:转载
供稿:网友

实例如下:

<html> <head>   <meta http-equiv="content-type" content="text/html; charset=utf-8">   <script type="text/javascript" src="jquery183.min.js"></script>   <script type="text/javascript">     $(document).ready(function(){       $('#wwo').click(function(){         var data = {"title":[{"value":"A1标题"}, {"value":"B1标题"}],"data":[[{"value":"好好"}, {"value":"2015-08-24"}],[{"value":"123"}, {"value":"hahah"}]]};         if(data == ''){           return; }else{JSONToExcelConvertor(data.data, "Report", data.title); }      });     });      function JSONToExcelConvertor(JSONData, FileName, ShowLabel) {       //先转化json       var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;              var excel = '<table>';                //设置表头       var row = "<tr>";       for (var i = 0, l = ShowLabel.length; i < l; i++) {         row += "<td>" + ShowLabel[i].value + '</td>';       }                     //换行       excel += row + "</tr>";              //设置数据       for (var i = 0; i < arrData.length; i++) {         var row = "<tr>";                  for (var index in arrData[i]) {           var value = arrData[i][index].value === "." ? "" : arrData[i][index].value;           row += '<td>' + value + '</td>';         }                  excel += row + "</tr>";       }        excel += "</table>";        var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";       excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';       excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel';       excelFile += '; charset=UTF-8">';       excelFile += "<head>";       excelFile += "<!--[if gte mso 9]>";       excelFile += "<xml>";       excelFile += "<x:ExcelWorkbook>";       excelFile += "<x:ExcelWorksheets>";       excelFile += "<x:ExcelWorksheet>";       excelFile += "<x:Name>";       excelFile += "{worksheet}";       excelFile += "</x:Name>";       excelFile += "<x:WorksheetOptions>";       excelFile += "<x:DisplayGridlines/>";       excelFile += "</x:WorksheetOptions>";       excelFile += "</x:ExcelWorksheet>";       excelFile += "</x:ExcelWorksheets>";       excelFile += "</x:ExcelWorkbook>";       excelFile += "</xml>";       excelFile += "<![endif]-->";       excelFile += "</head>";       excelFile += "<body>";       excelFile += excel;       excelFile += "</body>";       excelFile += "</html>";               var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile);              var link = document.createElement("a");         link.href = uri;              link.style = "visibility:hidden";       link.download = FileName + ".xls";              document.body.appendChild(link);       link.click();       document.body.removeChild(link);     }   </script> </head> <body>   <input type="button" id="wwo" value="导出" /> </body> </html> 

以上这篇javascript将json格式数组下载为excel表格的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表