导出Excel

jsp生成Excel表格

字符串转化成数组

function string2Array(stringObj){
	stringObj = stringObj.replace(/\[([\w, ]*)\]/,"$1");
	if(stringObj.indexOf("[") == 0){
		stringObj = stringObj.substring(1,stringObj.length-1);
	}
	var arr = stringObj.split(",");
	var newArray =[];
	for(var i=0;i<arr.length;i++){
		var arrOne = arr[i];
		newArray.push(arrOne);
	}
	return newArray;
}

设置表格头

function setKeys(array){
	var keyMap = {id:'姓名'...}
	for(var i =0;i<array.length;i++){
		var obj = array[i];
		for(var key in obj){
			var newKey = keyMap[key];
			if(newKey){
				obj[newKey] = obj[key];
				delete obj[key];
			}
		}
	}
	return array;
}

添加表格数据

function JSONToExcelConvertor(JSONData,FileName){
	//先转化json
	var arrData = typeof JSONData != 'object'? JSON.parse(JSONData):JSONData;
	var excel ='<table>';
	var row='<tr>';
	//设置表头
	var keys = Object.keys(JSONData[0]);
	keys.forEach(function (item){
		row += "<td>"+item+'</td>';
		});
		//换行
		excel +=row+"</tr>";
		//设置数据
		for(var i =0;i<arrData.length;i++){
			var row ="<tr>";
			for(var index in arrData[i]){
			row +='<td>'+arrData[i][index]+'</td>';
			}
			excel +=row+"</tr>";
		}
		excel += "</table>";
		var excelFile = "<html xmins:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='htp://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:WoksheetOptions>";
excelFile +="<x:DisplayGridlines/>";
excelFile +="</x:WoksheetOptions>";
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.removenChild(link);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值