diff --git a/lib/xlsx/xform/sheet/cell-xform.js b/lib/xlsx/xform/sheet/cell-xform.js index b663508ca..2b04de4ce 100644 --- a/lib/xlsx/xform/sheet/cell-xform.js +++ b/lib/xlsx/xform/sheet/cell-xform.js @@ -122,13 +122,13 @@ class CellXform extends BaseXform { let attrs = null; if (model.ref) { attrs = { - t: 'shared', - ref: model.ref.range, + t: model.arrayFormula ? 'array' : 'shared', + ref: model.ref.range || model.ref, si: model.si, }; } else if (model.si !== undefined) { attrs = { - t: 'shared', + t: model.arrayFormula ? 'array' : 'shared', si: model.si, }; } @@ -265,8 +265,13 @@ class CellXform extends BaseXform { case 'f': this.currentNode = 'f'; this.model.si = node.attributes.si; - if (node.attributes.t === 'shared') { - this.model.sharedFormula = true; + switch (node.attributes.t) { + case 'shared': + this.model.sharedFormula = true; + break; + case 'array': + this.model.arrayFormula = true; + break; } this.model.ref = node.attributes.ref; return true;