JS前端将table导出到excel 兼容谷歌 IE 且保留表格样式
CDSN上博主给我一段代码,可将表格导出为EXCEL文档,原文见:
https://blog.csdn.net/zz210891470/article/details/94717644
向博主学习、致敬。
只是原文中缺少了isIE()函数,补充进去后,运行成功。但似乎导出的EXCEL文档并没有如原文所说的那样格式不变(拥挤在一个单元格大小的空间中)。作为借鉴学习记录下来,后面调试中试用。
function exportExcel(){
//tb是div 里面包着 table,这里就是取出table的html
var lHtml = document.getElementById("tb").innerHTML;
//这里重新组成一个你需要的文档,记得要将你需要的table样式复制写入到head头部里否则
//导出来没有表格样式 下面style标签里就是我自定义的表格样式
var tableHtml='<html><head><meta charset="UTF-8"><style>table{border-top:solid 1px #000; border-left:solid 1px #000;} td{height:25px;line-height:25px; font-size:12px; font-family:"宋体"; text-align:center; border-bottom:solid 1px #000; border-right:solid 1px #000;} #tab td{height:25px;line-height:25px; font-size:12px; font-family:"宋体";width: 82px;border-left:0px; border-bottom:solid 1px #000; border-right:solid 1px #000;} </style></head><body>';
tableHtml += lHtml;
tableHtml += '</body></html>';
var excelBlob = new Blob([tableHtml], {type: 'application/vnd.ms-excel'});
var fileName = "EXCEL.xls";
if(isIE()){
window.navigator.msSaveOrOpenBlob(excelBlob,fileName);
}else{
var oa = document.createElement('a');
oa.href = URL.createObjectURL(excelBlob);
oa.download = fileName;
document.body.appendChild(oa);
oa.click();
}
}