1.0.1 • Published 3 years ago

js-xlsx-extended v1.0.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

介绍

这一个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',
  )