天天看点

js导json数据到excel接口

js导json数据到excel接口
//参数说明:jsonData jsonData,  FileName 要导出的文件名  ,ShowLabel = 表头
function export2Excel(jsonData, FileName, ShowLabel) {  
	 if(jsonData=='' || jsonData == null){
		 alert("暂无数据无法导出!");
		 return;
	 }
	 if(FileName=='' || FileName == null){
		 alert("文件名设置错误!");
		 return;
	 }
	 if(ShowLabel=='' || ShowLabel == null){
		 alert("表头为空无法导出!");
		 return;
	 }
	
	var excel = '<table>';  
	//生成表头   
	var row = "<tr>";   
	for (var i = 0; i < ShowLabel.length; i++) {   
	    row += "<td>" + ShowLabel[i] + '</td>';   
	}   
	excel += row + "</tr>";  
	//循环生成表身   
	for (var i = 0; i < jsonData.length; i++) {   
	    var row = "<tr>";   
	    for (var j in jsonData[i]) {   
	        var td = jsonData[i][j];   
	        row += '<td>' + td + '</td>';   
	    }   
	    excel += row + "</tr>";   
	}  
	excel += "</table>";   
	console.log(excel);  
	//组装excel
	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 += "sheet";   
	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);   
}             

复制