/* 此样式仅用于浏览器页面效果,Excel不会分离表格边框,不需要此样式 */
table {
border-collapse: collapse;
}
编号 | 学号 | 姓名 | 性别 | 年龄 | 成绩 | ||
---|---|---|---|---|---|---|---|
语文 | 数学 | 英语 | |||||
1 | 2016001 | 张三 | 男 | 13 | 85 | 94 | 77 |
2 | 2016002 | 李四 | 女 | 12 | 96 | 84 | 89 |
导出表格
// 使用outerHTML属性获取整个table元素的HTML代码(包括
// var html = "
" + document.getElementsByTagName("table")[0].outerHTML + "";var html = document.getElementsByTagName("table")[0].outerHTML;
// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象
var blob = new Blob([html], { type: "application/vnd.ms-excel" });
var a = document.getElementsByTagName("a")[0];
// 利用URL.createObjectURL()方法为a元素生成blob URL
a.href = URL.createObjectURL(blob);
// 设置文件名,目前只有Chrome和FireFox支持此属性
a.download = "学生成绩表.xls";
此时excel表格像空白了一大片。
之所以要用html,是因为我还想控制表格导出来的样式