本帖最后由 Clark.Pan 于 2021-10-11 17:44 编辑
标题写不下,我大概说下复现过程
首先有这样的一个表格,A1 ~ A4 是数字,B1 是动态数组公式
然后克隆这个表格导出为 excel,伪代码差不多这样:
- const newWorkbook = new GCWorkbook(document.createElement('div'))
- newWorkbook.fromJSON(workbook.toJSON(), {
- doNotRecalculateAfterLoad: true,
- })
- excelIo.save(JSON.stringify(newWorkbook.toJSON()), ...)
复制代码
但拿到的结果不符合预期,加载时用 `workbook.fromJSON(json, { doNotRecalculateAfterLoad: false })` 来加载会变成这样
如果在克隆的时候就把 doNotRecalculateAfterLoad 改为 false 就不会有这个问题,但克隆可能会是一个频繁操作,所以我们希望那个时候能使用这个选项。
而且我认为 fromJSON 开了不重新计算,也不应该把动态数组的值硬写入到单元格中,这导致数据不正确,应该算一个 bug?
|