js json转excel并下载

7 篇文章 0 订阅
4 篇文章 0 订阅

JSONToExcelConvertor.js

function JSONToExcelConvertor(JSONData, FileName,title,filter) {

if(!JSONData)

return;

//转化json为object

var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;

var excel = "<table>";

//设置表头

var row = "<tr>";

if(title)

{

//使用标题项

for (var i in title) {

row += "<th align='center'>" + title[i] + '</th>';

}

}

else{

//不使用标题项

for (var i in arrData[0]) {

row += "<th align='center'>" + i + '</th>';

}

}

excel += row + "</tr>";

//设置数据

for (var i = 0; i < arrData.length; i++) {

var row = "<tr>";

for (var index in arrData[i]) {

//判断是否有过滤行

if(filter)

{

if(filter.indexOf(index)==-1)

{

var value = arrData[i][index] == null ? "" : arrData[i][index];

row += '<td>' + value + '</td>';

}

}

else

{

var value = arrData[i][index] == null ? "" : arrData[i][index];

row += "<td align='center'>" + 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);

}

调用:

$("#siteDown").click(function () {

//自定义标题栏

var title=['站点编码','站点名称']

//自定义过滤栏(不需要导出的行)

// var filter=['id','logins'];

var filter=[];

//原始导出

// JSONToExcelConvertor(data3,"report");

//自定义导出

JSONToExcelConvertor(siteJson,"申请站点",title,filter);

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值