JavaScript

超轻量级php框架startmvc

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

更新时间:2020-06-20 20:30:01 作者:startmvc
实例如下:<html><head><metahttp-equiv="content-type"content="text/html;charset=utf-8"><scriptt

实例如下:


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

javascript json格式 数组 下载 excel表格