js-xlsx-extended
v1.0.1
Published
fork了js-xlsx的功能,支持在用模板表格来生成自定义表格的时候可以保留样式
Downloads
3
Maintainers
Readme
介绍
这一个fork xlsx的库,是为了支持读取表格再生成的表格可以保留原有的样式
开始使用
npm i js-xlsx-extended
const XLSX = require('js-xlsx-extended')
基本用法参考:SheetJS/xlsx
与xlsx的差异
1. 读取数据
在读取模版的时候拿到的workbook数据中 _s属性:每个sheet数据中的每个格子数据会有一个_s属性,这是一个样式映射的属性,有了_s就有样式。
_Views和_Cols:存在于模版数据的Workbook属性上,在复原样式的时候会用到这两个参数
2. 读取写入表格无其他操作
正常复原
3. 向sheet中追加数据
场景一:指定cell添加数据
比如给C4格设置数据并保留样式,需要将读取模版的对应sheet数据中的C4数据的_s属性值取出来设置到现在要添加的C4格数据上,有了_s就有样式
场景二:使用XLSX.utils.sheet_add_aoa方法添加数组数据
原sheet_add_aoa是不能保留样式的,需要使用新方法XLSX.utils.dz_sheet_add_aoa,使用和sheet_add_aoa方法一致
场景三:添加动态行数
因为有没有样式取决于表格数据中有没有_s,所以想要保留什么样的样式就去取模版对应cell数据中的_s,然后在添加数据的时候将_s参数加上即可
4. sheet追加sheet
原来:
XLSX.utils.book_append_sheet(
'totalWorkbook',
'要追加的sheet数据',
'要追加的sheet名称'
)
现在:
XLSX.utils.dz_book_append_sheet(
'totalWorkbook',
'要追加的sheet数据',
'要追加的sheet名称',
'要追加的workbook.Workbook',
'要追加的workbook.Styles',
)