前阵子跟server同学讨论一个Excel导出的需求我说JS搞不定需要server来做被server同学强行打脸。
今天研究了下尼玛不光可以还很强大了
总结经验是害人的尤其是在发展迅速的前端圈儿and需要保持饥渴保持对新技术的敏感度。
注以下只探讨现代浏览器
1. 最简单的Excel导出
原理js可以通过base64或者blob把一个包含一个
only one |
oa.href = 'data:application/vnd.ms-excel;base64,'+window.btoa(tableHtml);
oa.download = 'htmltable-base64.xls';//通过A标签 设置文件名oa.click();
文件在js中除了可以是base64也可以是一个blob。
- base64形式的文件描述在js或者html中就是一个很长的base4字符串
- blob形式的文件描述在js或者html中是一个URL形式的字符串他指向的是浏览器内存中的一个文件片段形如"blob:http://sheetjs.com/f999f57f-b79f-4293-a317-3bbf6ea58788"
blob形式的Excel导出如下
//blob URL形式文件下载var tableHtml='
only one |