如果在页面上展示了一个数据表格,而用户想把这个表格导出为Excel文件,那么在要求不高的情况下,可以不通过服务器生成表格,而是直接利用JavaScript的Blob和Object URL特性将表格导出。不过,丑话说在前头,这篇随笔中利用了Excel能打开HTML文档的特性,所以导出的表格实际上是一个HTML文档,并且其扩展名只能为.xls,而不能是.xlsx,否则Excel无法打开。(不过确实见过使用JavaScript生成真正Excel文件的方案,这里暂不提及。)
实现代码如下,包含HTML页面和JavaScript脚本:
/* 此样式仅用于浏览器页面效果,Excel不会分离表格边框,不需要此样式 */
table {
border-collapse: collapse;
}
编号 | 学号 | 姓名 | 性别 | 年龄 | 成绩 | ||
---|---|---|---|---|---|---|---|
语文 | 数学 | 英语 | |||||
1 | 2016001 | 张三 | 男 | 13 | 85 | 94 | 77 |
2 | 2016002 | 李四 | 女 | 12 | 96 | 84 | 89 |