js-xlsx插件简单教程js-xlsx是⼀款⽤于excel⽂件处理的脚本
github地址:github/protobi/js-xlsx/tree/beta
由于⽂档是英⽂的,为了⾃⼰下次能更快上⼿使⽤,这篇⽂档就介绍下它的简单使⽤
安装
这其实没啥好说的,第⼆种script标签引⼊后,是可以直接使⽤ XLSX 对象的,下⾯也主要介绍这种引⼊⽅式的写法
创建workbook对象
通过input file元素的onchange事件读取excel⽂件的数据,在图⽚注释位置处进⾏操作
workbook对象
SheetNames存放表名,Sheets存放表数据
workbook.SheetNames.forEach(item => {
console.log(workbook.Sheets[item])
})
t 类型,v 值, f 公式,还有其他的请⾃⾏查阅⽂档
内置函数
sheet-to-json ⽣成⼀个数组对象
js教程removechild
显然是把第⼀⾏的标题作为了属性名
下载excel⽂件
因为浏览器⽆法对本地⽂件进⾏修改,所以对读取的excel做出修改后,需要重新下载修改后的⽂件,这⾥通过纯js⽅式来实现下载// ⽣成⼆进制⽂件编码
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' };
var wbout = XLSX.write(workbook,wopts);
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
// 创建a标签⽤于下载
var eleLink = ateElement('a'); eleLink.download = 'excel.xlsx'; eleLink.style.display = 'none';
// 字符内容转变成blob对象
var blob = new Blob([s2ab(wbout)]); eleLink.href = ateObjectURL(blob); // 触发点击
document.body.appendChild(eleLink); eleLink.click();
// 然后移除
veChild(eleLink);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论