浏览器导出伪excel姿势及其兼容性小记;
2017-04-04 17:00
127 查看
简而言之,通过创建blob对象并保存来实现伪xls/csv文件导出;
所以,我们可以创建一个html格式的数据对象并导出来为一个伪xls/csv文件;具体实现如下:
if (window.navigator.msSaveBlob){
var blob = new Blob([decodeURIComponent(encodeURI('<html><head><meta charset="UTF-8"></head><body><table>'
+ 。。。这里是内容。。。
+'</table></body></html>'))], {
type: "application/vnd.ms-exce;charset=utf-8;"
});
navigator.msSaveBlob(blob, 'xxxx.xls');
} else {
window.location.href = 'data:application/vnd.ms-excel;base64,' + window.btoa(unescape(encodeURIComponent('<html><head><meta charset="UTF-8"></head><body><table>'
+ 。。。这里是内容。。。
+'</table></body></html>')))
}
blob对象是一个代表二进制数据的基本对象,在它的基础上,又衍生出一系列相关的API,用来操作文件。ie10以上浏览器支持;
Excel能打开HTML文件,并支持其中的table元素以及p之类的文本元素的显示;所以,我们可以创建一个html格式的数据对象并导出来为一个伪xls/csv文件;具体实现如下:
if (window.navigator.msSaveBlob){
var blob = new Blob([decodeURIComponent(encodeURI('<html><head><meta charset="UTF-8"></head><body><table>'
+ 。。。这里是内容。。。
+'</table></body></html>'))], {
type: "application/vnd.ms-exce;charset=utf-8;"
});
navigator.msSaveBlob(blob, 'xxxx.xls');
} else {
window.location.href = 'data:application/vnd.ms-excel;base64,' + window.btoa(unescape(encodeURIComponent('<html><head><meta charset="UTF-8"></head><body><table>'
+ 。。。这里是内容。。。
+'</table></body></html>')))
}
相关文章推荐
- Spring (八) 使用jxl导入导出excel实例及其在spring mvc中的应用
- 浏览器端JS导出EXCEL
- 导出Excel(兼容各主流浏览器,也可手动设置表头)
- 【poi excel导出】不同浏览器的编码方式,解决下载文件名称乱码
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- 浏览器端JS导出EXCEL
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- ie8及其以下浏览器的document.getElementsByClassName兼容性问题
- js导出excel, 并解决文件名是随机的问题,兼容多个浏览器
- Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
- 导出到excel,将数字转换成三位逗号分隔的样式,清空浏览器客户端的缓存,生成缩略图
- 直接在客户端通过js导出excel的方法(不限浏览器,不必安装excel)
- 直接在客户端通过js导出excel的方法(不限浏览器,不必安装excel)
- 浏览器端JS导出EXCEL——001
- spingmvc 导出excel,浏览器进行下载的解决方式
- Selenium ide导出 webdriver 脚本运行浏览器启动与selenium包兼容性
- 极好的导出table为Excel的方法(除IE外各浏览器可使用)
- Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
- 解决datagrid导出到word(excel)浏览器直接打开的问题
- java中使用jxl导入导出excel实例及其在spring mvc中的应用