@zergai/ztc 0.2.5-dev.36050717543 → 0.2.6-dev.36101352252
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.md +16 -5
- package/dist/zlm-embed.mjs +1 -1
- package/node_modules/exceljs/LICENSE +0 -1
- package/node_modules/exceljs/index.d.ts +6 -6
- package/node_modules/exceljs/package.json +1 -46
- package/package.json +10 -4
- package/{node_modules/exceljs/dist → packages/exceljs}/LICENSE +0 -1
- package/packages/exceljs/PROVENANCE.md +18 -0
- package/packages/exceljs/excel.js +13 -0
- package/packages/exceljs/index.d.ts +2035 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/csv/csv.js +97 -88
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/csv/line-buffer.js +12 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/csv/stream-converter.js +30 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/anchor.js +26 -8
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/cell.js +245 -82
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/column.js +53 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/data-validations.js +5 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/defined-names.js +38 -15
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/enums.js +7 -8
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/image.js +13 -23
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/modelcontainer.js +3 -1
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/note.js +19 -18
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/range.js +91 -63
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/row.js +86 -53
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/table.js +63 -41
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/workbook.js +43 -24
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/worksheet.js +150 -123
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/exceljs.bare.js +3 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/exceljs.browser.js +4 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/exceljs.nodejs.js +5 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/hyperlink-reader.js +16 -23
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/sheet-comments-writer.js +35 -8
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/sheet-rels-writer.js +34 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/workbook-reader.js +52 -77
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/workbook-writer.js +101 -101
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/worksheet-reader.js +52 -70
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/worksheet-writer.js +161 -96
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/auto-drain.js +3 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/browser-buffer-decode.js +2 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/browser-buffer-encode.js +3 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/cell-matrix.js +34 -18
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/col-cache.js +62 -33
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/copy-style.js +12 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/encryptor.js +3 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/iterate-stream.js +6 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/parse-sax.js +6 -23
- package/packages/exceljs/lib/utils/shared-formula.js +44 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/shared-strings.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/stream-base64.js +17 -11
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/stream-buf.js +33 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/string-buf.js +14 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/string-builder.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/stuttered-pipe.js +9 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/typed-stack.js +4 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/under-dash.js +30 -14
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/utils.js +28 -27
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/xml-stream.js +23 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/zip-stream.js +22 -14
- package/packages/exceljs/lib/xlsx/.rels +11 -0
- package/packages/exceljs/lib/xlsx/calcChain.xml +6 -0
- package/packages/exceljs/lib/xlsx/core.xml +7 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/defaultnumformats.js +61 -138
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/rel-type.js +9 -6
- package/packages/exceljs/lib/xlsx/styles.xml +41 -0
- package/packages/exceljs/lib/xlsx/workbook.xml +16 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/base-xform.js +27 -21
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/defined-name-xform.js +11 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/sheet-xform.js +7 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-calc-properties-xform.js +6 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-properties-xform.js +7 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-view-xform.js +11 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-xform.js +45 -24
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/comment-xform.js +11 -9
- package/packages/exceljs/lib/xlsx/xform/comment/comments-xform.js +82 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/style/vml-position-xform.js +7 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/style/vml-protection-xform.js +7 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-anchor-xform.js +11 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-client-data-xform.js +22 -24
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-notes-xform.js +21 -21
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-shape-xform.js +22 -19
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-textbox-xform.js +17 -14
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/composite-xform.js +8 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/app-heading-pairs-xform.js +9 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/app-titles-of-parts-xform.js +8 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/app-xform.js +23 -16
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/content-types-xform.js +36 -28
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/core-xform.js +33 -55
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/relationship-xform.js +5 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/relationships-xform.js +13 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/base-cell-anchor-xform.js +6 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/blip-fill-xform.js +14 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/blip-xform.js +7 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/c-nv-pic-pr-xform.js +7 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/c-nv-pr-xform.js +11 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/cell-position-xform.js +15 -20
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/drawing-xform.js +20 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/ext-lst-xform.js +8 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/ext-xform.js +13 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/hlink-click-xform.js +9 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/nv-pic-pr-xform.js +10 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/one-cell-anchor-xform.js +15 -15
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/pic-xform.js +14 -4
- package/packages/exceljs/lib/xlsx/xform/drawing/sp-pr.js +17 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/two-cell-anchor-xform.js +15 -15
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/list-xform.js +18 -14
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/auto-filter-xform.js +8 -10
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cell-xform.js +118 -71
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/cf-rule-xform.js +64 -38
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/cfvo-xform.js +7 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/color-scale-xform.js +13 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/conditional-formatting-xform.js +15 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/conditional-formattings-xform.js +19 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/databar-xform.js +13 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +22 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/formula-xform.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/icon-set-xform.js +14 -10
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +8 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +26 -16
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +11 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +17 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +11 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +41 -18
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/f-ext-xform.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +18 -11
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/col-xform.js +14 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/data-validations-xform.js +123 -113
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/dimension-xform.js +7 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/drawing-xform.js +8 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/ext-lst-xform.js +23 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/header-footer-xform.js +23 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/hyperlink-xform.js +10 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/merge-cell-xform.js +7 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/merges.js +8 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/outline-properties-xform.js +14 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-breaks-xform.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-margins-xform.js +8 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-setup-properties-xform.js +8 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-setup-xform.js +9 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/picture-xform.js +8 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/print-options-xform.js +9 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/row-breaks-xform.js +7 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/row-xform.js +22 -8
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-format-properties-xform.js +9 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-properties-xform.js +11 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-protection-xform.js +10 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-view-xform.js +39 -27
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/table-part-xform.js +8 -7
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/worksheet-xform.js +138 -112
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/boolean-xform.js +7 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/date-xform.js +22 -14
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/float-xform.js +7 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/integer-xform.js +7 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/string-xform.js +7 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/static-xform.js +6 -3
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/phonetic-text-xform.js +20 -20
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/rich-text-xform.js +13 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/shared-string-xform.js +18 -15
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/shared-strings-xform.js +18 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/text-xform.js +9 -4
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/alignment-xform.js +42 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/border-xform.js +52 -30
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/color-xform.js +9 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/dxf-xform.js +14 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/fill-xform.js +86 -30
- package/packages/exceljs/lib/xlsx/xform/style/font-xform.js +102 -0
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/numfmt-xform.js +13 -9
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/protection-xform.js +12 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/style-xform.js +13 -6
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/styles-xform.js +123 -208
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/underline-xform.js +13 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/auto-filter-xform.js +17 -11
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/custom-filter-xform.js +8 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/filter-column-xform.js +19 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/filter-xform.js +8 -5
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/table-column-xform.js +10 -8
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/table-style-info-xform.js +9 -8
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/table-xform.js +20 -12
- package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xlsx.js +197 -200
- package/packages/exceljs/lib/xlsx/xml/theme1.js +3 -0
- package/packages/exceljs/lib/xlsx/xml/theme1.xml +318 -0
- package/packages/exceljs/package.json +104 -0
- package/packages/sim-graph/package.json +3 -0
- package/node_modules/exceljs/README.md +0 -3023
- package/node_modules/exceljs/README_zh.md +0 -2878
- package/node_modules/exceljs/dist/es5/csv/csv.js.map +0 -1
- package/node_modules/exceljs/dist/es5/csv/line-buffer.js.map +0 -1
- package/node_modules/exceljs/dist/es5/csv/stream-converter.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/anchor.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/cell.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/column.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/data-validations.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/defined-names.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/enums.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/image.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/modelcontainer.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/note.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/range.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/row.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/table.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/workbook.js.map +0 -1
- package/node_modules/exceljs/dist/es5/doc/worksheet.js.map +0 -1
- package/node_modules/exceljs/dist/es5/exceljs.bare.js.map +0 -1
- package/node_modules/exceljs/dist/es5/exceljs.browser.js.map +0 -1
- package/node_modules/exceljs/dist/es5/exceljs.nodejs.js.map +0 -1
- package/node_modules/exceljs/dist/es5/index.js +0 -15
- package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
- package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
- package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
- package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
- package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
- package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
- package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/auto-drain.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/cell-matrix.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/col-cache.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/copy-style.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/encryptor.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/iterate-stream.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/parse-sax.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/shared-formula.js +0 -42
- package/node_modules/exceljs/dist/es5/utils/shared-formula.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/shared-strings.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/stream-base64.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/stream-buf.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/string-buf.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/string-builder.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/typed-stack.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/under-dash.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/utils.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/xml-stream.js.map +0 -1
- package/node_modules/exceljs/dist/es5/utils/zip-stream.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/rel-type.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js +0 -175
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xlsx.js.map +0 -1
- package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js +0 -5
- package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js.map +0 -1
- package/node_modules/exceljs/dist/exceljs.bare.js +0 -55253
- package/node_modules/exceljs/dist/exceljs.bare.js.map +0 -761
- package/node_modules/exceljs/dist/exceljs.bare.min.js +0 -45
- package/node_modules/exceljs/dist/exceljs.bare.min.js.map +0 -1
- package/node_modules/exceljs/dist/exceljs.js +0 -59900
- package/node_modules/exceljs/dist/exceljs.js.map +0 -1083
- package/node_modules/exceljs/dist/exceljs.min.js +0 -45
- package/node_modules/exceljs/dist/exceljs.min.js.map +0 -1
- package/node_modules/exceljs/index.ts +0 -2
- package/node_modules/exceljs/lib/doc/data/theme1.json +0 -234
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
/* eslint-disable max-classes-per-file */
|
|
4
2
|
const colCache = require('../utils/col-cache');
|
|
5
3
|
const _ = require('../utils/under-dash');
|
|
6
4
|
const Enums = require('./enums');
|
|
7
|
-
const {
|
|
8
|
-
slideFormula
|
|
9
|
-
} = require('../utils/shared-formula');
|
|
5
|
+
const {slideFormula} = require('../utils/shared-formula');
|
|
10
6
|
const Note = require('./note');
|
|
11
7
|
// Cell requirements
|
|
12
8
|
// Operate inside a worksheet
|
|
@@ -18,19 +14,25 @@ class Cell {
|
|
|
18
14
|
if (!row || !column) {
|
|
19
15
|
throw new Error('A Cell needs a Row');
|
|
20
16
|
}
|
|
17
|
+
|
|
21
18
|
this._row = row;
|
|
22
19
|
this._column = column;
|
|
20
|
+
|
|
23
21
|
colCache.validateAddress(address);
|
|
24
22
|
this._address = address;
|
|
25
23
|
|
|
26
24
|
// TODO: lazy evaluation of this._value
|
|
27
25
|
this._value = Value.create(Cell.Types.Null, this);
|
|
26
|
+
|
|
28
27
|
this.style = this._mergeStyle(row.style, column.style, {});
|
|
28
|
+
|
|
29
29
|
this._mergeCount = 0;
|
|
30
30
|
}
|
|
31
|
+
|
|
31
32
|
get worksheet() {
|
|
32
33
|
return this._row.worksheet;
|
|
33
34
|
}
|
|
35
|
+
|
|
34
36
|
get workbook() {
|
|
35
37
|
return this._row.worksheet.workbook;
|
|
36
38
|
}
|
|
@@ -49,52 +51,70 @@ class Cell {
|
|
|
49
51
|
get numFmt() {
|
|
50
52
|
return this.style.numFmt;
|
|
51
53
|
}
|
|
54
|
+
|
|
52
55
|
set numFmt(value) {
|
|
53
56
|
this.style.numFmt = value;
|
|
54
57
|
}
|
|
58
|
+
|
|
55
59
|
get font() {
|
|
56
60
|
return this.style.font;
|
|
57
61
|
}
|
|
62
|
+
|
|
58
63
|
set font(value) {
|
|
59
64
|
this.style.font = value;
|
|
60
65
|
}
|
|
66
|
+
|
|
61
67
|
get alignment() {
|
|
62
68
|
return this.style.alignment;
|
|
63
69
|
}
|
|
70
|
+
|
|
64
71
|
set alignment(value) {
|
|
65
72
|
this.style.alignment = value;
|
|
66
73
|
}
|
|
74
|
+
|
|
67
75
|
get border() {
|
|
68
76
|
return this.style.border;
|
|
69
77
|
}
|
|
78
|
+
|
|
70
79
|
set border(value) {
|
|
71
80
|
this.style.border = value;
|
|
72
81
|
}
|
|
82
|
+
|
|
73
83
|
get fill() {
|
|
74
84
|
return this.style.fill;
|
|
75
85
|
}
|
|
86
|
+
|
|
76
87
|
set fill(value) {
|
|
77
88
|
this.style.fill = value;
|
|
78
89
|
}
|
|
90
|
+
|
|
79
91
|
get protection() {
|
|
80
92
|
return this.style.protection;
|
|
81
93
|
}
|
|
94
|
+
|
|
82
95
|
set protection(value) {
|
|
83
96
|
this.style.protection = value;
|
|
84
97
|
}
|
|
98
|
+
|
|
85
99
|
_mergeStyle(rowStyle, colStyle, style) {
|
|
86
|
-
const numFmt = rowStyle && rowStyle.numFmt || colStyle && colStyle.numFmt;
|
|
100
|
+
const numFmt = (rowStyle && rowStyle.numFmt) || (colStyle && colStyle.numFmt);
|
|
87
101
|
if (numFmt) style.numFmt = numFmt;
|
|
88
|
-
|
|
102
|
+
|
|
103
|
+
const font = (rowStyle && rowStyle.font) || (colStyle && colStyle.font);
|
|
89
104
|
if (font) style.font = font;
|
|
90
|
-
|
|
105
|
+
|
|
106
|
+
const alignment = (rowStyle && rowStyle.alignment) || (colStyle && colStyle.alignment);
|
|
91
107
|
if (alignment) style.alignment = alignment;
|
|
92
|
-
|
|
108
|
+
|
|
109
|
+
const border = (rowStyle && rowStyle.border) || (colStyle && colStyle.border);
|
|
93
110
|
if (border) style.border = border;
|
|
94
|
-
|
|
111
|
+
|
|
112
|
+
const fill = (rowStyle && rowStyle.fill) || (colStyle && colStyle.fill);
|
|
95
113
|
if (fill) style.fill = fill;
|
|
96
|
-
|
|
114
|
+
|
|
115
|
+
const protection = (rowStyle && rowStyle.protection) || (colStyle && colStyle.protection);
|
|
97
116
|
if (protection) style.protection = protection;
|
|
117
|
+
|
|
98
118
|
return style;
|
|
99
119
|
}
|
|
100
120
|
|
|
@@ -103,12 +123,15 @@ class Cell {
|
|
|
103
123
|
get address() {
|
|
104
124
|
return this._address;
|
|
105
125
|
}
|
|
126
|
+
|
|
106
127
|
get row() {
|
|
107
128
|
return this._row.number;
|
|
108
129
|
}
|
|
130
|
+
|
|
109
131
|
get col() {
|
|
110
132
|
return this._column.number;
|
|
111
133
|
}
|
|
134
|
+
|
|
112
135
|
get $col$row() {
|
|
113
136
|
return `$${this._column.letter}$${this.row}`;
|
|
114
137
|
}
|
|
@@ -119,9 +142,11 @@ class Cell {
|
|
|
119
142
|
get type() {
|
|
120
143
|
return this._value.type;
|
|
121
144
|
}
|
|
145
|
+
|
|
122
146
|
get effectiveType() {
|
|
123
147
|
return this._value.effectiveType;
|
|
124
148
|
}
|
|
149
|
+
|
|
125
150
|
toCsvString() {
|
|
126
151
|
return this._value.toCsvString();
|
|
127
152
|
}
|
|
@@ -132,12 +157,15 @@ class Cell {
|
|
|
132
157
|
addMergeRef() {
|
|
133
158
|
this._mergeCount++;
|
|
134
159
|
}
|
|
160
|
+
|
|
135
161
|
releaseMergeRef() {
|
|
136
162
|
this._mergeCount--;
|
|
137
163
|
}
|
|
164
|
+
|
|
138
165
|
get isMerged() {
|
|
139
166
|
return this._mergeCount > 0 || this.type === Cell.Types.Merge;
|
|
140
167
|
}
|
|
168
|
+
|
|
141
169
|
merge(master, ignoreStyle) {
|
|
142
170
|
this._value.release();
|
|
143
171
|
this._value = Value.create(Cell.Types.Merge, this, master);
|
|
@@ -145,6 +173,7 @@ class Cell {
|
|
|
145
173
|
this.style = master.style;
|
|
146
174
|
}
|
|
147
175
|
}
|
|
176
|
+
|
|
148
177
|
unmerge() {
|
|
149
178
|
if (this.type === Cell.Types.Merge) {
|
|
150
179
|
this._value.release();
|
|
@@ -152,10 +181,12 @@ class Cell {
|
|
|
152
181
|
this.style = this._mergeStyle(this._row.style, this._column.style, {});
|
|
153
182
|
}
|
|
154
183
|
}
|
|
184
|
+
|
|
155
185
|
isMergedTo(master) {
|
|
156
186
|
if (this._value.type !== Cell.Types.Merge) return false;
|
|
157
187
|
return this._value.isMergedTo(master);
|
|
158
188
|
}
|
|
189
|
+
|
|
159
190
|
get master() {
|
|
160
191
|
if (this.type === Cell.Types.Merge) {
|
|
161
192
|
return this._value.master;
|
|
@@ -166,6 +197,7 @@ class Cell {
|
|
|
166
197
|
get isHyperlink() {
|
|
167
198
|
return this._value.type === Cell.Types.Hyperlink;
|
|
168
199
|
}
|
|
200
|
+
|
|
169
201
|
get hyperlink() {
|
|
170
202
|
return this._value.hyperlink;
|
|
171
203
|
}
|
|
@@ -182,32 +214,39 @@ class Cell {
|
|
|
182
214
|
this._value.master.value = v;
|
|
183
215
|
return;
|
|
184
216
|
}
|
|
217
|
+
|
|
185
218
|
this._value.release();
|
|
186
219
|
|
|
187
220
|
// assign value
|
|
188
221
|
this._value = Value.create(Value.getType(v), this, v);
|
|
189
222
|
}
|
|
223
|
+
|
|
190
224
|
get note() {
|
|
191
225
|
return this._comment && this._comment.note;
|
|
192
226
|
}
|
|
227
|
+
|
|
193
228
|
set note(note) {
|
|
194
229
|
this._comment = new Note(note);
|
|
195
230
|
}
|
|
231
|
+
|
|
196
232
|
get text() {
|
|
197
233
|
return this._value.toString();
|
|
198
234
|
}
|
|
235
|
+
|
|
199
236
|
get html() {
|
|
200
237
|
return _.escapeHtml(this.text);
|
|
201
238
|
}
|
|
239
|
+
|
|
202
240
|
toString() {
|
|
203
241
|
return this.text;
|
|
204
242
|
}
|
|
243
|
+
|
|
205
244
|
_upgradeToHyperlink(hyperlink) {
|
|
206
245
|
// if this cell is a string, turn it into a Hyperlink
|
|
207
246
|
if (this.type === Cell.Types.String) {
|
|
208
247
|
this._value = Value.create(Cell.Types.Hyperlink, this, {
|
|
209
248
|
text: this._value.value,
|
|
210
|
-
hyperlink
|
|
249
|
+
hyperlink,
|
|
211
250
|
});
|
|
212
251
|
}
|
|
213
252
|
}
|
|
@@ -217,9 +256,11 @@ class Cell {
|
|
|
217
256
|
get formula() {
|
|
218
257
|
return this._value.formula;
|
|
219
258
|
}
|
|
259
|
+
|
|
220
260
|
get result() {
|
|
221
261
|
return this._value.result;
|
|
222
262
|
}
|
|
263
|
+
|
|
223
264
|
get formulaType() {
|
|
224
265
|
return this._value.formulaType;
|
|
225
266
|
}
|
|
@@ -227,40 +268,43 @@ class Cell {
|
|
|
227
268
|
// =========================================================================
|
|
228
269
|
// Name stuff
|
|
229
270
|
get fullAddress() {
|
|
230
|
-
const {
|
|
231
|
-
worksheet
|
|
232
|
-
} = this._row;
|
|
271
|
+
const {worksheet} = this._row;
|
|
233
272
|
return {
|
|
234
273
|
sheetName: worksheet.name,
|
|
235
274
|
address: this.address,
|
|
236
275
|
row: this.row,
|
|
237
|
-
col: this.col
|
|
276
|
+
col: this.col,
|
|
238
277
|
};
|
|
239
278
|
}
|
|
279
|
+
|
|
240
280
|
get name() {
|
|
241
281
|
return this.names[0];
|
|
242
282
|
}
|
|
283
|
+
|
|
243
284
|
set name(value) {
|
|
244
285
|
this.names = [value];
|
|
245
286
|
}
|
|
287
|
+
|
|
246
288
|
get names() {
|
|
247
289
|
return this.workbook.definedNames.getNamesEx(this.fullAddress);
|
|
248
290
|
}
|
|
291
|
+
|
|
249
292
|
set names(value) {
|
|
250
|
-
const {
|
|
251
|
-
definedNames
|
|
252
|
-
} = this.workbook;
|
|
293
|
+
const {definedNames} = this.workbook;
|
|
253
294
|
definedNames.removeAllNames(this.fullAddress);
|
|
254
295
|
value.forEach(name => {
|
|
255
296
|
definedNames.addEx(this.fullAddress, name);
|
|
256
297
|
});
|
|
257
298
|
}
|
|
299
|
+
|
|
258
300
|
addName(name) {
|
|
259
301
|
this.workbook.definedNames.addEx(this.fullAddress, name);
|
|
260
302
|
}
|
|
303
|
+
|
|
261
304
|
removeName(name) {
|
|
262
305
|
this.workbook.definedNames.removeEx(this.fullAddress, name);
|
|
263
306
|
}
|
|
307
|
+
|
|
264
308
|
removeAllNames() {
|
|
265
309
|
this.workbook.definedNames.removeAllNames(this.fullAddress);
|
|
266
310
|
}
|
|
@@ -270,9 +314,11 @@ class Cell {
|
|
|
270
314
|
get _dataValidations() {
|
|
271
315
|
return this.worksheet.dataValidations;
|
|
272
316
|
}
|
|
317
|
+
|
|
273
318
|
get dataValidation() {
|
|
274
319
|
return this._dataValidations.find(this.address);
|
|
275
320
|
}
|
|
321
|
+
|
|
276
322
|
set dataValidation(value) {
|
|
277
323
|
this._dataValidations.add(this.address, value);
|
|
278
324
|
}
|
|
@@ -281,19 +327,19 @@ class Cell {
|
|
|
281
327
|
// Model stuff
|
|
282
328
|
|
|
283
329
|
get model() {
|
|
284
|
-
const {
|
|
285
|
-
model
|
|
286
|
-
} = this._value;
|
|
330
|
+
const {model} = this._value;
|
|
287
331
|
model.style = this.style;
|
|
288
332
|
if (this._comment) {
|
|
289
333
|
model.comment = this._comment.model;
|
|
290
334
|
}
|
|
291
335
|
return model;
|
|
292
336
|
}
|
|
337
|
+
|
|
293
338
|
set model(value) {
|
|
294
339
|
this._value.release();
|
|
295
340
|
this._value = Value.create(value.type, this);
|
|
296
341
|
this._value.model = value;
|
|
342
|
+
|
|
297
343
|
if (value.comment) {
|
|
298
344
|
switch (value.comment.type) {
|
|
299
345
|
case 'note':
|
|
@@ -301,6 +347,7 @@ class Cell {
|
|
|
301
347
|
break;
|
|
302
348
|
}
|
|
303
349
|
}
|
|
350
|
+
|
|
304
351
|
if (value.style) {
|
|
305
352
|
this.style = value.style;
|
|
306
353
|
} else {
|
|
@@ -317,205 +364,259 @@ class NullValue {
|
|
|
317
364
|
constructor(cell) {
|
|
318
365
|
this.model = {
|
|
319
366
|
address: cell.address,
|
|
320
|
-
type: Cell.Types.Null
|
|
367
|
+
type: Cell.Types.Null,
|
|
321
368
|
};
|
|
322
369
|
}
|
|
370
|
+
|
|
323
371
|
get value() {
|
|
324
372
|
return null;
|
|
325
373
|
}
|
|
374
|
+
|
|
326
375
|
set value(value) {
|
|
327
376
|
// nothing to do
|
|
328
377
|
}
|
|
378
|
+
|
|
329
379
|
get type() {
|
|
330
380
|
return Cell.Types.Null;
|
|
331
381
|
}
|
|
382
|
+
|
|
332
383
|
get effectiveType() {
|
|
333
384
|
return Cell.Types.Null;
|
|
334
385
|
}
|
|
386
|
+
|
|
335
387
|
get address() {
|
|
336
388
|
return this.model.address;
|
|
337
389
|
}
|
|
390
|
+
|
|
338
391
|
set address(value) {
|
|
339
392
|
this.model.address = value;
|
|
340
393
|
}
|
|
394
|
+
|
|
341
395
|
toCsvString() {
|
|
342
396
|
return '';
|
|
343
397
|
}
|
|
398
|
+
|
|
344
399
|
release() {}
|
|
400
|
+
|
|
345
401
|
toString() {
|
|
346
402
|
return '';
|
|
347
403
|
}
|
|
348
404
|
}
|
|
405
|
+
|
|
349
406
|
class NumberValue {
|
|
350
407
|
constructor(cell, value) {
|
|
351
408
|
this.model = {
|
|
352
409
|
address: cell.address,
|
|
353
410
|
type: Cell.Types.Number,
|
|
354
|
-
value
|
|
411
|
+
value,
|
|
355
412
|
};
|
|
356
413
|
}
|
|
414
|
+
|
|
357
415
|
get value() {
|
|
358
416
|
return this.model.value;
|
|
359
417
|
}
|
|
418
|
+
|
|
360
419
|
set value(value) {
|
|
361
420
|
this.model.value = value;
|
|
362
421
|
}
|
|
422
|
+
|
|
363
423
|
get type() {
|
|
364
424
|
return Cell.Types.Number;
|
|
365
425
|
}
|
|
426
|
+
|
|
366
427
|
get effectiveType() {
|
|
367
428
|
return Cell.Types.Number;
|
|
368
429
|
}
|
|
430
|
+
|
|
369
431
|
get address() {
|
|
370
432
|
return this.model.address;
|
|
371
433
|
}
|
|
434
|
+
|
|
372
435
|
set address(value) {
|
|
373
436
|
this.model.address = value;
|
|
374
437
|
}
|
|
438
|
+
|
|
375
439
|
toCsvString() {
|
|
376
440
|
return this.model.value.toString();
|
|
377
441
|
}
|
|
442
|
+
|
|
378
443
|
release() {}
|
|
444
|
+
|
|
379
445
|
toString() {
|
|
380
446
|
return this.model.value.toString();
|
|
381
447
|
}
|
|
382
448
|
}
|
|
449
|
+
|
|
383
450
|
class StringValue {
|
|
384
451
|
constructor(cell, value) {
|
|
385
452
|
this.model = {
|
|
386
453
|
address: cell.address,
|
|
387
454
|
type: Cell.Types.String,
|
|
388
|
-
value
|
|
455
|
+
value,
|
|
389
456
|
};
|
|
390
457
|
}
|
|
458
|
+
|
|
391
459
|
get value() {
|
|
392
460
|
return this.model.value;
|
|
393
461
|
}
|
|
462
|
+
|
|
394
463
|
set value(value) {
|
|
395
464
|
this.model.value = value;
|
|
396
465
|
}
|
|
466
|
+
|
|
397
467
|
get type() {
|
|
398
468
|
return Cell.Types.String;
|
|
399
469
|
}
|
|
470
|
+
|
|
400
471
|
get effectiveType() {
|
|
401
472
|
return Cell.Types.String;
|
|
402
473
|
}
|
|
474
|
+
|
|
403
475
|
get address() {
|
|
404
476
|
return this.model.address;
|
|
405
477
|
}
|
|
478
|
+
|
|
406
479
|
set address(value) {
|
|
407
480
|
this.model.address = value;
|
|
408
481
|
}
|
|
482
|
+
|
|
409
483
|
toCsvString() {
|
|
410
484
|
return `"${this.model.value.replace(/"/g, '""')}"`;
|
|
411
485
|
}
|
|
486
|
+
|
|
412
487
|
release() {}
|
|
488
|
+
|
|
413
489
|
toString() {
|
|
414
490
|
return this.model.value;
|
|
415
491
|
}
|
|
416
492
|
}
|
|
493
|
+
|
|
417
494
|
class RichTextValue {
|
|
418
495
|
constructor(cell, value) {
|
|
419
496
|
this.model = {
|
|
420
497
|
address: cell.address,
|
|
421
498
|
type: Cell.Types.String,
|
|
422
|
-
value
|
|
499
|
+
value,
|
|
423
500
|
};
|
|
424
501
|
}
|
|
502
|
+
|
|
425
503
|
get value() {
|
|
426
504
|
return this.model.value;
|
|
427
505
|
}
|
|
506
|
+
|
|
428
507
|
set value(value) {
|
|
429
508
|
this.model.value = value;
|
|
430
509
|
}
|
|
510
|
+
|
|
431
511
|
toString() {
|
|
432
512
|
return this.model.value.richText.map(t => t.text).join('');
|
|
433
513
|
}
|
|
514
|
+
|
|
434
515
|
get type() {
|
|
435
516
|
return Cell.Types.RichText;
|
|
436
517
|
}
|
|
518
|
+
|
|
437
519
|
get effectiveType() {
|
|
438
520
|
return Cell.Types.RichText;
|
|
439
521
|
}
|
|
522
|
+
|
|
440
523
|
get address() {
|
|
441
524
|
return this.model.address;
|
|
442
525
|
}
|
|
526
|
+
|
|
443
527
|
set address(value) {
|
|
444
528
|
this.model.address = value;
|
|
445
529
|
}
|
|
530
|
+
|
|
446
531
|
toCsvString() {
|
|
447
532
|
return `"${this.text.replace(/"/g, '""')}"`;
|
|
448
533
|
}
|
|
534
|
+
|
|
449
535
|
release() {}
|
|
450
536
|
}
|
|
537
|
+
|
|
451
538
|
class DateValue {
|
|
452
539
|
constructor(cell, value) {
|
|
453
540
|
this.model = {
|
|
454
541
|
address: cell.address,
|
|
455
542
|
type: Cell.Types.Date,
|
|
456
|
-
value
|
|
543
|
+
value,
|
|
457
544
|
};
|
|
458
545
|
}
|
|
546
|
+
|
|
459
547
|
get value() {
|
|
460
548
|
return this.model.value;
|
|
461
549
|
}
|
|
550
|
+
|
|
462
551
|
set value(value) {
|
|
463
552
|
this.model.value = value;
|
|
464
553
|
}
|
|
554
|
+
|
|
465
555
|
get type() {
|
|
466
556
|
return Cell.Types.Date;
|
|
467
557
|
}
|
|
558
|
+
|
|
468
559
|
get effectiveType() {
|
|
469
560
|
return Cell.Types.Date;
|
|
470
561
|
}
|
|
562
|
+
|
|
471
563
|
get address() {
|
|
472
564
|
return this.model.address;
|
|
473
565
|
}
|
|
566
|
+
|
|
474
567
|
set address(value) {
|
|
475
568
|
this.model.address = value;
|
|
476
569
|
}
|
|
570
|
+
|
|
477
571
|
toCsvString() {
|
|
478
572
|
return this.model.value.toISOString();
|
|
479
573
|
}
|
|
574
|
+
|
|
480
575
|
release() {}
|
|
576
|
+
|
|
481
577
|
toString() {
|
|
482
578
|
return this.model.value.toString();
|
|
483
579
|
}
|
|
484
580
|
}
|
|
581
|
+
|
|
485
582
|
class HyperlinkValue {
|
|
486
583
|
constructor(cell, value) {
|
|
487
584
|
this.model = {
|
|
488
585
|
address: cell.address,
|
|
489
586
|
type: Cell.Types.Hyperlink,
|
|
490
587
|
text: value ? value.text : undefined,
|
|
491
|
-
hyperlink: value ? value.hyperlink : undefined
|
|
588
|
+
hyperlink: value ? value.hyperlink : undefined,
|
|
492
589
|
};
|
|
493
590
|
if (value && value.tooltip) {
|
|
494
591
|
this.model.tooltip = value.tooltip;
|
|
495
592
|
}
|
|
496
593
|
}
|
|
594
|
+
|
|
497
595
|
get value() {
|
|
498
596
|
const v = {
|
|
499
597
|
text: this.model.text,
|
|
500
|
-
hyperlink: this.model.hyperlink
|
|
598
|
+
hyperlink: this.model.hyperlink,
|
|
501
599
|
};
|
|
502
600
|
if (this.model.tooltip) {
|
|
503
601
|
v.tooltip = this.model.tooltip;
|
|
504
602
|
}
|
|
505
603
|
return v;
|
|
506
604
|
}
|
|
605
|
+
|
|
507
606
|
set value(value) {
|
|
508
607
|
this.model = {
|
|
509
608
|
text: value.text,
|
|
510
|
-
hyperlink: value.hyperlink
|
|
609
|
+
hyperlink: value.hyperlink,
|
|
511
610
|
};
|
|
512
611
|
if (value.tooltip) {
|
|
513
612
|
this.model.tooltip = value.tooltip;
|
|
514
613
|
}
|
|
515
614
|
}
|
|
615
|
+
|
|
516
616
|
get text() {
|
|
517
617
|
return this.model.text;
|
|
518
618
|
}
|
|
619
|
+
|
|
519
620
|
set text(value) {
|
|
520
621
|
this.model.text = value;
|
|
521
622
|
}
|
|
@@ -524,51 +625,63 @@ class HyperlinkValue {
|
|
|
524
625
|
get tooltip() {
|
|
525
626
|
return this.model.tooltip;
|
|
526
627
|
}
|
|
527
|
-
|
|
628
|
+
|
|
629
|
+
set tooltip(value) {
|
|
528
630
|
this.model.tooltip = value;
|
|
529
631
|
} */
|
|
530
632
|
|
|
531
633
|
get hyperlink() {
|
|
532
634
|
return this.model.hyperlink;
|
|
533
635
|
}
|
|
636
|
+
|
|
534
637
|
set hyperlink(value) {
|
|
535
638
|
this.model.hyperlink = value;
|
|
536
639
|
}
|
|
640
|
+
|
|
537
641
|
get type() {
|
|
538
642
|
return Cell.Types.Hyperlink;
|
|
539
643
|
}
|
|
644
|
+
|
|
540
645
|
get effectiveType() {
|
|
541
646
|
return Cell.Types.Hyperlink;
|
|
542
647
|
}
|
|
648
|
+
|
|
543
649
|
get address() {
|
|
544
650
|
return this.model.address;
|
|
545
651
|
}
|
|
652
|
+
|
|
546
653
|
set address(value) {
|
|
547
654
|
this.model.address = value;
|
|
548
655
|
}
|
|
656
|
+
|
|
549
657
|
toCsvString() {
|
|
550
658
|
return this.model.hyperlink;
|
|
551
659
|
}
|
|
660
|
+
|
|
552
661
|
release() {}
|
|
662
|
+
|
|
553
663
|
toString() {
|
|
554
664
|
return this.model.text;
|
|
555
665
|
}
|
|
556
666
|
}
|
|
667
|
+
|
|
557
668
|
class MergeValue {
|
|
558
669
|
constructor(cell, master) {
|
|
559
670
|
this.model = {
|
|
560
671
|
address: cell.address,
|
|
561
672
|
type: Cell.Types.Merge,
|
|
562
|
-
master: master ? master.address : undefined
|
|
673
|
+
master: master ? master.address : undefined,
|
|
563
674
|
};
|
|
564
675
|
this._master = master;
|
|
565
676
|
if (master) {
|
|
566
677
|
master.addMergeRef();
|
|
567
678
|
}
|
|
568
679
|
}
|
|
680
|
+
|
|
569
681
|
get value() {
|
|
570
682
|
return this._master.value;
|
|
571
683
|
}
|
|
684
|
+
|
|
572
685
|
set value(value) {
|
|
573
686
|
if (value instanceof Cell) {
|
|
574
687
|
if (this._master) {
|
|
@@ -580,37 +693,48 @@ class MergeValue {
|
|
|
580
693
|
this._master.value = value;
|
|
581
694
|
}
|
|
582
695
|
}
|
|
696
|
+
|
|
583
697
|
isMergedTo(master) {
|
|
584
698
|
return master === this._master;
|
|
585
699
|
}
|
|
700
|
+
|
|
586
701
|
get master() {
|
|
587
702
|
return this._master;
|
|
588
703
|
}
|
|
704
|
+
|
|
589
705
|
get type() {
|
|
590
706
|
return Cell.Types.Merge;
|
|
591
707
|
}
|
|
708
|
+
|
|
592
709
|
get effectiveType() {
|
|
593
710
|
return this._master.effectiveType;
|
|
594
711
|
}
|
|
712
|
+
|
|
595
713
|
get address() {
|
|
596
714
|
return this.model.address;
|
|
597
715
|
}
|
|
716
|
+
|
|
598
717
|
set address(value) {
|
|
599
718
|
this.model.address = value;
|
|
600
719
|
}
|
|
720
|
+
|
|
601
721
|
toCsvString() {
|
|
602
722
|
return '';
|
|
603
723
|
}
|
|
724
|
+
|
|
604
725
|
release() {
|
|
605
726
|
this._master.releaseMergeRef();
|
|
606
727
|
}
|
|
728
|
+
|
|
607
729
|
toString() {
|
|
608
730
|
return this.value.toString();
|
|
609
731
|
}
|
|
610
732
|
}
|
|
733
|
+
|
|
611
734
|
class FormulaValue {
|
|
612
735
|
constructor(cell, value) {
|
|
613
736
|
this.cell = cell;
|
|
737
|
+
|
|
614
738
|
this.model = {
|
|
615
739
|
address: cell.address,
|
|
616
740
|
type: Cell.Types.Formula,
|
|
@@ -618,9 +742,10 @@ class FormulaValue {
|
|
|
618
742
|
ref: value ? value.ref : undefined,
|
|
619
743
|
formula: value ? value.formula : undefined,
|
|
620
744
|
sharedFormula: value ? value.sharedFormula : undefined,
|
|
621
|
-
result: value ? value.result : undefined
|
|
745
|
+
result: value ? value.result : undefined,
|
|
622
746
|
};
|
|
623
747
|
}
|
|
748
|
+
|
|
624
749
|
_copyModel(model) {
|
|
625
750
|
const copy = {};
|
|
626
751
|
const cp = name => {
|
|
@@ -636,12 +761,15 @@ class FormulaValue {
|
|
|
636
761
|
cp('sharedFormula');
|
|
637
762
|
return copy;
|
|
638
763
|
}
|
|
764
|
+
|
|
639
765
|
get value() {
|
|
640
766
|
return this._copyModel(this.model);
|
|
641
767
|
}
|
|
768
|
+
|
|
642
769
|
set value(value) {
|
|
643
770
|
this.model = this._copyModel(value);
|
|
644
771
|
}
|
|
772
|
+
|
|
645
773
|
validate(value) {
|
|
646
774
|
switch (Value.getType(value)) {
|
|
647
775
|
case Cell.Types.Null:
|
|
@@ -655,21 +783,27 @@ class FormulaValue {
|
|
|
655
783
|
throw new Error('Cannot process that type of result value');
|
|
656
784
|
}
|
|
657
785
|
}
|
|
786
|
+
|
|
658
787
|
get dependencies() {
|
|
659
788
|
// find all the ranges and cells mentioned in the formula
|
|
660
789
|
const ranges = this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}:[A-Z]{1,3}\d{1,4}/g);
|
|
661
|
-
const cells = this.formula
|
|
790
|
+
const cells = this.formula
|
|
791
|
+
.replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}:[A-Z]{1,3}\d{1,4}/g, '')
|
|
792
|
+
.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\d{1,4}/g);
|
|
662
793
|
return {
|
|
663
794
|
ranges,
|
|
664
|
-
cells
|
|
795
|
+
cells,
|
|
665
796
|
};
|
|
666
797
|
}
|
|
798
|
+
|
|
667
799
|
get formula() {
|
|
668
800
|
return this.model.formula || this._getTranslatedFormula();
|
|
669
801
|
}
|
|
802
|
+
|
|
670
803
|
set formula(value) {
|
|
671
804
|
this.model.formula = value;
|
|
672
805
|
}
|
|
806
|
+
|
|
673
807
|
get formulaType() {
|
|
674
808
|
if (this.model.formula) {
|
|
675
809
|
return Enums.FormulaType.Master;
|
|
@@ -679,15 +813,19 @@ class FormulaValue {
|
|
|
679
813
|
}
|
|
680
814
|
return Enums.FormulaType.None;
|
|
681
815
|
}
|
|
816
|
+
|
|
682
817
|
get result() {
|
|
683
818
|
return this.model.result;
|
|
684
819
|
}
|
|
820
|
+
|
|
685
821
|
set result(value) {
|
|
686
822
|
this.model.result = value;
|
|
687
823
|
}
|
|
824
|
+
|
|
688
825
|
get type() {
|
|
689
826
|
return Cell.Types.Formula;
|
|
690
827
|
}
|
|
828
|
+
|
|
691
829
|
get effectiveType() {
|
|
692
830
|
const v = this.model.result;
|
|
693
831
|
if (v === null || v === undefined) {
|
|
@@ -708,166 +846,212 @@ class FormulaValue {
|
|
|
708
846
|
if (v.formula) {
|
|
709
847
|
return Enums.ValueType.Formula;
|
|
710
848
|
}
|
|
849
|
+
|
|
711
850
|
return Enums.ValueType.Null;
|
|
712
851
|
}
|
|
852
|
+
|
|
713
853
|
get address() {
|
|
714
854
|
return this.model.address;
|
|
715
855
|
}
|
|
856
|
+
|
|
716
857
|
set address(value) {
|
|
717
858
|
this.model.address = value;
|
|
718
859
|
}
|
|
860
|
+
|
|
719
861
|
_getTranslatedFormula() {
|
|
720
862
|
if (!this._translatedFormula && this.model.sharedFormula) {
|
|
721
|
-
const {
|
|
722
|
-
worksheet
|
|
723
|
-
} = this.cell;
|
|
863
|
+
const {worksheet} = this.cell;
|
|
724
864
|
const master = worksheet.findCell(this.model.sharedFormula);
|
|
725
|
-
this._translatedFormula =
|
|
865
|
+
this._translatedFormula =
|
|
866
|
+
master && slideFormula(master.formula, master.address, this.model.address);
|
|
726
867
|
}
|
|
727
868
|
return this._translatedFormula;
|
|
728
869
|
}
|
|
870
|
+
|
|
729
871
|
toCsvString() {
|
|
730
872
|
return `${this.model.result || ''}`;
|
|
731
873
|
}
|
|
874
|
+
|
|
732
875
|
release() {}
|
|
876
|
+
|
|
733
877
|
toString() {
|
|
734
878
|
return this.model.result ? this.model.result.toString() : '';
|
|
735
879
|
}
|
|
736
880
|
}
|
|
881
|
+
|
|
737
882
|
class SharedStringValue {
|
|
738
883
|
constructor(cell, value) {
|
|
739
884
|
this.model = {
|
|
740
885
|
address: cell.address,
|
|
741
886
|
type: Cell.Types.SharedString,
|
|
742
|
-
value
|
|
887
|
+
value,
|
|
743
888
|
};
|
|
744
889
|
}
|
|
890
|
+
|
|
745
891
|
get value() {
|
|
746
892
|
return this.model.value;
|
|
747
893
|
}
|
|
894
|
+
|
|
748
895
|
set value(value) {
|
|
749
896
|
this.model.value = value;
|
|
750
897
|
}
|
|
898
|
+
|
|
751
899
|
get type() {
|
|
752
900
|
return Cell.Types.SharedString;
|
|
753
901
|
}
|
|
902
|
+
|
|
754
903
|
get effectiveType() {
|
|
755
904
|
return Cell.Types.SharedString;
|
|
756
905
|
}
|
|
906
|
+
|
|
757
907
|
get address() {
|
|
758
908
|
return this.model.address;
|
|
759
909
|
}
|
|
910
|
+
|
|
760
911
|
set address(value) {
|
|
761
912
|
this.model.address = value;
|
|
762
913
|
}
|
|
914
|
+
|
|
763
915
|
toCsvString() {
|
|
764
916
|
return this.model.value.toString();
|
|
765
917
|
}
|
|
918
|
+
|
|
766
919
|
release() {}
|
|
920
|
+
|
|
767
921
|
toString() {
|
|
768
922
|
return this.model.value.toString();
|
|
769
923
|
}
|
|
770
924
|
}
|
|
925
|
+
|
|
771
926
|
class BooleanValue {
|
|
772
927
|
constructor(cell, value) {
|
|
773
928
|
this.model = {
|
|
774
929
|
address: cell.address,
|
|
775
930
|
type: Cell.Types.Boolean,
|
|
776
|
-
value
|
|
931
|
+
value,
|
|
777
932
|
};
|
|
778
933
|
}
|
|
934
|
+
|
|
779
935
|
get value() {
|
|
780
936
|
return this.model.value;
|
|
781
937
|
}
|
|
938
|
+
|
|
782
939
|
set value(value) {
|
|
783
940
|
this.model.value = value;
|
|
784
941
|
}
|
|
942
|
+
|
|
785
943
|
get type() {
|
|
786
944
|
return Cell.Types.Boolean;
|
|
787
945
|
}
|
|
946
|
+
|
|
788
947
|
get effectiveType() {
|
|
789
948
|
return Cell.Types.Boolean;
|
|
790
949
|
}
|
|
950
|
+
|
|
791
951
|
get address() {
|
|
792
952
|
return this.model.address;
|
|
793
953
|
}
|
|
954
|
+
|
|
794
955
|
set address(value) {
|
|
795
956
|
this.model.address = value;
|
|
796
957
|
}
|
|
958
|
+
|
|
797
959
|
toCsvString() {
|
|
798
960
|
return this.model.value ? 1 : 0;
|
|
799
961
|
}
|
|
962
|
+
|
|
800
963
|
release() {}
|
|
964
|
+
|
|
801
965
|
toString() {
|
|
802
966
|
return this.model.value.toString();
|
|
803
967
|
}
|
|
804
968
|
}
|
|
969
|
+
|
|
805
970
|
class ErrorValue {
|
|
806
971
|
constructor(cell, value) {
|
|
807
972
|
this.model = {
|
|
808
973
|
address: cell.address,
|
|
809
974
|
type: Cell.Types.Error,
|
|
810
|
-
value
|
|
975
|
+
value,
|
|
811
976
|
};
|
|
812
977
|
}
|
|
978
|
+
|
|
813
979
|
get value() {
|
|
814
980
|
return this.model.value;
|
|
815
981
|
}
|
|
982
|
+
|
|
816
983
|
set value(value) {
|
|
817
984
|
this.model.value = value;
|
|
818
985
|
}
|
|
986
|
+
|
|
819
987
|
get type() {
|
|
820
988
|
return Cell.Types.Error;
|
|
821
989
|
}
|
|
990
|
+
|
|
822
991
|
get effectiveType() {
|
|
823
992
|
return Cell.Types.Error;
|
|
824
993
|
}
|
|
994
|
+
|
|
825
995
|
get address() {
|
|
826
996
|
return this.model.address;
|
|
827
997
|
}
|
|
998
|
+
|
|
828
999
|
set address(value) {
|
|
829
1000
|
this.model.address = value;
|
|
830
1001
|
}
|
|
1002
|
+
|
|
831
1003
|
toCsvString() {
|
|
832
1004
|
return this.toString();
|
|
833
1005
|
}
|
|
1006
|
+
|
|
834
1007
|
release() {}
|
|
1008
|
+
|
|
835
1009
|
toString() {
|
|
836
1010
|
return this.model.value.error.toString();
|
|
837
1011
|
}
|
|
838
1012
|
}
|
|
1013
|
+
|
|
839
1014
|
class JSONValue {
|
|
840
1015
|
constructor(cell, value) {
|
|
841
1016
|
this.model = {
|
|
842
1017
|
address: cell.address,
|
|
843
1018
|
type: Cell.Types.String,
|
|
844
1019
|
value: JSON.stringify(value),
|
|
845
|
-
rawValue: value
|
|
1020
|
+
rawValue: value,
|
|
846
1021
|
};
|
|
847
1022
|
}
|
|
1023
|
+
|
|
848
1024
|
get value() {
|
|
849
1025
|
return this.model.rawValue;
|
|
850
1026
|
}
|
|
1027
|
+
|
|
851
1028
|
set value(value) {
|
|
852
1029
|
this.model.rawValue = value;
|
|
853
1030
|
this.model.value = JSON.stringify(value);
|
|
854
1031
|
}
|
|
1032
|
+
|
|
855
1033
|
get type() {
|
|
856
1034
|
return Cell.Types.String;
|
|
857
1035
|
}
|
|
1036
|
+
|
|
858
1037
|
get effectiveType() {
|
|
859
1038
|
return Cell.Types.String;
|
|
860
1039
|
}
|
|
1040
|
+
|
|
861
1041
|
get address() {
|
|
862
1042
|
return this.model.address;
|
|
863
1043
|
}
|
|
1044
|
+
|
|
864
1045
|
set address(value) {
|
|
865
1046
|
this.model.address = value;
|
|
866
1047
|
}
|
|
1048
|
+
|
|
867
1049
|
toCsvString() {
|
|
868
1050
|
return this.model.value;
|
|
869
1051
|
}
|
|
1052
|
+
|
|
870
1053
|
release() {}
|
|
1054
|
+
|
|
871
1055
|
toString() {
|
|
872
1056
|
return this.model.value;
|
|
873
1057
|
}
|
|
@@ -908,54 +1092,33 @@ const Value = {
|
|
|
908
1092
|
}
|
|
909
1093
|
return Cell.Types.JSON;
|
|
910
1094
|
},
|
|
1095
|
+
|
|
911
1096
|
// map valueType to constructor
|
|
912
|
-
types: [
|
|
913
|
-
t: Cell.Types.Null,
|
|
914
|
-
f:
|
|
915
|
-
|
|
916
|
-
t: Cell.Types.
|
|
917
|
-
f:
|
|
918
|
-
|
|
919
|
-
t: Cell.Types.
|
|
920
|
-
f:
|
|
921
|
-
|
|
922
|
-
t: Cell.Types.
|
|
923
|
-
f:
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
f: HyperlinkValue
|
|
927
|
-
}, {
|
|
928
|
-
t: Cell.Types.Formula,
|
|
929
|
-
f: FormulaValue
|
|
930
|
-
}, {
|
|
931
|
-
t: Cell.Types.Merge,
|
|
932
|
-
f: MergeValue
|
|
933
|
-
}, {
|
|
934
|
-
t: Cell.Types.JSON,
|
|
935
|
-
f: JSONValue
|
|
936
|
-
}, {
|
|
937
|
-
t: Cell.Types.SharedString,
|
|
938
|
-
f: SharedStringValue
|
|
939
|
-
}, {
|
|
940
|
-
t: Cell.Types.RichText,
|
|
941
|
-
f: RichTextValue
|
|
942
|
-
}, {
|
|
943
|
-
t: Cell.Types.Boolean,
|
|
944
|
-
f: BooleanValue
|
|
945
|
-
}, {
|
|
946
|
-
t: Cell.Types.Error,
|
|
947
|
-
f: ErrorValue
|
|
948
|
-
}].reduce((p, t) => {
|
|
1097
|
+
types: [
|
|
1098
|
+
{t: Cell.Types.Null, f: NullValue},
|
|
1099
|
+
{t: Cell.Types.Number, f: NumberValue},
|
|
1100
|
+
{t: Cell.Types.String, f: StringValue},
|
|
1101
|
+
{t: Cell.Types.Date, f: DateValue},
|
|
1102
|
+
{t: Cell.Types.Hyperlink, f: HyperlinkValue},
|
|
1103
|
+
{t: Cell.Types.Formula, f: FormulaValue},
|
|
1104
|
+
{t: Cell.Types.Merge, f: MergeValue},
|
|
1105
|
+
{t: Cell.Types.JSON, f: JSONValue},
|
|
1106
|
+
{t: Cell.Types.SharedString, f: SharedStringValue},
|
|
1107
|
+
{t: Cell.Types.RichText, f: RichTextValue},
|
|
1108
|
+
{t: Cell.Types.Boolean, f: BooleanValue},
|
|
1109
|
+
{t: Cell.Types.Error, f: ErrorValue},
|
|
1110
|
+
].reduce((p, t) => {
|
|
949
1111
|
p[t.t] = t.f;
|
|
950
1112
|
return p;
|
|
951
1113
|
}, []),
|
|
1114
|
+
|
|
952
1115
|
create(type, cell, value) {
|
|
953
1116
|
const T = this.types[type];
|
|
954
1117
|
if (!T) {
|
|
955
1118
|
throw new Error(`Could not create Value of type ${type}`);
|
|
956
1119
|
}
|
|
957
1120
|
return new T(cell, value);
|
|
958
|
-
}
|
|
1121
|
+
},
|
|
959
1122
|
};
|
|
1123
|
+
|
|
960
1124
|
module.exports = Cell;
|
|
961
|
-
//# sourceMappingURL=cell.js.map
|