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

实例如下:

<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表格的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容