excel文件下载下来损坏 js_js文件操作之——导出Excel (js-xlsx)

本文介绍了如何使用JavaScript库js-xlsx实现在现代浏览器中导出真正的Excel文件,详细解析了从网页表格到Excel文件的转换过程,包括从table DOM到sheet JSON,再到未压缩的zip文件,最后生成Blob URL进行下载。
摘要由CSDN通过智能技术生成

前阵子跟server同学讨论一个Excel导出的需求我说JS搞不定需要server来做被server同学强行打脸。

今天研究了下尼玛不光可以还很强大了

总结经验是害人的尤其是在发展迅速的前端圈儿and需要保持饥渴保持对新技术的敏感度。

注以下只探讨现代浏览器

1. 最简单的Excel导出

原理js可以通过base64或者blob把一个包含一个

only one
';//base64 URL形式文件下载var oa = document.createElement('a');

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
';var excelBlob = new Blob([t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值