js导出页面上的表格数据保存execl文件并下载到本地
js导出页面上的table表格数据保存execl文件下载到本地方法。
html代码:
<table class="tableTd" id="tabledata" border="1">
<tr>
<td>编码</td>
<td>姓名</td>
<td>手机</td>
<td>邮箱</td>
</tr>
<tr>
<td>1</td>
<td>小红</td>
<td>13145678910</td>
<td>131@qq.com</td>
</tr>
<tr>
<td>2</td>
<td>小明</td>
<td>15145678910</td>
<td>151@qq.com</td>
</tr>
<tr>
<td>3</td>
<td>小华</td>
<td>13845678910</td>
<td>138@qq.com</td>
</tr>
</table>
js代码:
/**
* js导出页面上的表格数据保存execl文件下载到本地方法
*/
function toExcel(idDom,fileName){
//获取表格
var exportFileContent = document.getElementById(idDom).outerHTML;
//设置格式为Excel,表格内容通过btoa转化为base64,此方法也可以只适合文件较小时使用
//exportFileContent = window.btoa(unescape(encodeURIComponent(exportFileContent)));
//var link = "data:"+MIMEType+";base64," + exportFileContent;
//使用Blob支持大文件
var blob = new Blob([exportFileContent], {type: "text/plain;charset=utf-8"}); //解决中文乱码问题
blob = new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
var link = document.createElement('a'); //创建a标签
link.href = window.URL.createObjectURL(blob);; // href赋值
link.download = fileName+'.xls'; // 下载文件名称
link.style.display = 'none'; // fix Firefox 设置隐藏
document.body.appendChild(link); // a标签添加到页面
link.click(); //设置a标签触发单击事件
document.body.removeChild(link); //移除a标签
window.URL.revokeObjectURL(link.href); // 释放创建的对象
}
/**
* 调用示例:
*/
var idDom = 'tabledata'; // 表格的ID Dom
var fileName = '学生表'; // 下载后的表格名称
toExcel(idDom,fileName); // 调取方法