最近在做前端的excel导入导出需求,顺便整理下
Library
xlsx
open-file-dialog
file-saver
xlsx是xlsx格式文件的JS处理库,两个字:优秀。open-file-dialog是选择文件弹框,当然用原生都是可以的。
file-saver是文件输出的包。
读取Excel
1 | dialog({ |
具体看注释,主要原理就是二进制格式读取Excel文件,然后XLSX对数据进行解析,得到我们想要的object数组。
写入Excel
读取就更简单了
1 | var wb = XLSX.utils.book_new() |
看代码应该没难度,但是这个库有个问题,在issue看到它的header好像有BUG,而且单纯用header设置的话就做不了key映射(因为它header的设置只支持数组),所以我这里就用了一行数据作为我们的head,把head当做普通的数据来处理