@cj-tech-master/excelts 4.0.0 → 4.0.1
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/README.md +2 -2
- package/README_zh.md +2 -2
- package/dist/browser/index.browser.d.ts +25 -0
- package/dist/browser/index.browser.js +40 -0
- package/dist/browser/index.d.ts +23 -0
- package/dist/browser/index.js +35 -0
- package/dist/browser/modules/archive/byte-queue.d.ts +18 -0
- package/dist/browser/modules/archive/byte-queue.js +125 -0
- package/dist/browser/modules/archive/compress.base.d.ts +98 -0
- package/dist/browser/modules/archive/compress.base.js +173 -0
- package/dist/browser/modules/archive/compress.browser.d.ts +57 -0
- package/dist/browser/modules/archive/compress.browser.js +93 -0
- package/dist/browser/modules/archive/compress.d.ts +44 -0
- package/dist/browser/modules/archive/compress.js +86 -0
- package/dist/browser/modules/archive/crc32.base.d.ts +25 -0
- package/dist/browser/modules/archive/crc32.base.js +51 -0
- package/dist/browser/modules/archive/crc32.browser.d.ts +30 -0
- package/dist/browser/modules/archive/crc32.browser.js +32 -0
- package/dist/browser/modules/archive/crc32.d.ts +59 -0
- package/dist/browser/modules/archive/crc32.js +97 -0
- package/dist/browser/modules/archive/defaults.d.ts +4 -0
- package/dist/browser/modules/archive/defaults.js +3 -0
- package/dist/browser/modules/archive/deflate-fallback.d.ts +39 -0
- package/dist/browser/modules/archive/deflate-fallback.js +564 -0
- package/dist/browser/modules/archive/extract.d.ts +94 -0
- package/dist/browser/modules/archive/extract.js +106 -0
- package/dist/browser/modules/archive/index.base.d.ts +11 -0
- package/dist/browser/modules/archive/index.base.js +13 -0
- package/dist/browser/modules/archive/index.browser.d.ts +11 -0
- package/dist/browser/modules/archive/index.browser.js +17 -0
- package/dist/browser/modules/archive/index.d.ts +11 -0
- package/dist/browser/modules/archive/index.js +15 -0
- package/dist/browser/modules/archive/parse.base.d.ts +198 -0
- package/dist/browser/modules/archive/parse.base.js +610 -0
- package/dist/browser/modules/archive/parse.browser.d.ts +22 -0
- package/dist/browser/modules/archive/parse.browser.js +564 -0
- package/dist/browser/modules/archive/parse.d.ts +16 -0
- package/dist/browser/modules/archive/parse.js +94 -0
- package/dist/browser/modules/archive/streaming-compress.base.d.ts +36 -0
- package/dist/browser/modules/archive/streaming-compress.base.js +9 -0
- package/dist/browser/modules/archive/streaming-compress.browser.d.ts +26 -0
- package/dist/browser/modules/archive/streaming-compress.browser.js +296 -0
- package/dist/browser/modules/archive/streaming-compress.d.ts +22 -0
- package/dist/browser/modules/archive/streaming-compress.js +68 -0
- package/dist/browser/modules/archive/streaming-zip.d.ts +120 -0
- package/dist/browser/modules/archive/streaming-zip.js +407 -0
- package/dist/browser/modules/archive/utils/binary.d.ts +24 -0
- package/dist/browser/modules/archive/utils/binary.js +69 -0
- package/dist/browser/modules/archive/utils/bytes.d.ts +7 -0
- package/dist/browser/modules/archive/utils/bytes.js +101 -0
- package/dist/browser/modules/archive/utils/parse-buffer.d.ts +18 -0
- package/dist/browser/modules/archive/utils/parse-buffer.js +55 -0
- package/dist/browser/modules/archive/utils/text.d.ts +20 -0
- package/dist/browser/modules/archive/utils/text.js +33 -0
- package/dist/browser/modules/archive/utils/timestamps.d.ts +28 -0
- package/dist/browser/modules/archive/utils/timestamps.js +48 -0
- package/dist/browser/modules/archive/utils/zip-extra-fields.d.ts +19 -0
- package/dist/browser/modules/archive/utils/zip-extra-fields.js +72 -0
- package/dist/browser/modules/archive/utils/zip-extra.d.ts +18 -0
- package/dist/browser/modules/archive/utils/zip-extra.js +68 -0
- package/dist/browser/modules/archive/zip-builder.d.ts +117 -0
- package/dist/browser/modules/archive/zip-builder.js +292 -0
- package/dist/browser/modules/archive/zip-constants.d.ts +18 -0
- package/dist/browser/modules/archive/zip-constants.js +23 -0
- package/dist/browser/modules/archive/zip-entry-info.d.ts +29 -0
- package/dist/browser/modules/archive/zip-entry-info.js +6 -0
- package/dist/browser/modules/archive/zip-entry-metadata.d.ts +23 -0
- package/dist/browser/modules/archive/zip-entry-metadata.js +24 -0
- package/dist/browser/modules/archive/zip-parser.d.ts +62 -0
- package/dist/browser/modules/archive/zip-parser.js +332 -0
- package/dist/browser/modules/archive/zip-records.d.ts +43 -0
- package/dist/browser/modules/archive/zip-records.js +84 -0
- package/dist/browser/modules/csv/csv-core.d.ts +215 -0
- package/dist/browser/modules/csv/csv-core.js +723 -0
- package/dist/browser/modules/csv/csv-number.d.ts +3 -0
- package/dist/browser/modules/csv/csv-number.js +20 -0
- package/dist/browser/modules/csv/csv-stream.d.ts +121 -0
- package/dist/browser/modules/csv/csv-stream.js +703 -0
- package/dist/browser/modules/csv/csv.browser.d.ts +60 -0
- package/dist/browser/modules/csv/csv.browser.js +265 -0
- package/dist/browser/modules/csv/csv.d.ts +14 -0
- package/dist/browser/modules/csv/csv.js +29 -0
- package/dist/browser/modules/excel/anchor.d.ts +33 -0
- package/dist/browser/modules/excel/anchor.js +97 -0
- package/dist/browser/modules/excel/cell.d.ts +138 -0
- package/dist/browser/modules/excel/cell.js +946 -0
- package/dist/browser/modules/excel/column.d.ts +122 -0
- package/dist/browser/modules/excel/column.js +358 -0
- package/dist/browser/modules/excel/data-validations.d.ts +11 -0
- package/dist/browser/modules/excel/data-validations.js +43 -0
- package/dist/browser/modules/excel/defined-names.d.ts +37 -0
- package/dist/browser/modules/excel/defined-names.js +214 -0
- package/dist/browser/modules/excel/enums.d.ts +62 -0
- package/dist/browser/modules/excel/enums.js +58 -0
- package/dist/browser/modules/excel/image.d.ts +64 -0
- package/dist/browser/modules/excel/image.js +60 -0
- package/dist/browser/modules/excel/note.d.ts +29 -0
- package/dist/browser/modules/excel/note.js +61 -0
- package/dist/browser/modules/excel/pivot-table.d.ts +152 -0
- package/dist/browser/modules/excel/pivot-table.js +237 -0
- package/dist/browser/modules/excel/range.d.ts +62 -0
- package/dist/browser/modules/excel/range.js +280 -0
- package/dist/browser/modules/excel/row.d.ts +127 -0
- package/dist/browser/modules/excel/row.js +441 -0
- package/dist/browser/modules/excel/stream/hyperlink-reader.d.ts +33 -0
- package/dist/browser/modules/excel/stream/hyperlink-reader.js +84 -0
- package/dist/browser/modules/excel/stream/sheet-comments-writer.d.ts +26 -0
- package/dist/browser/modules/excel/stream/sheet-comments-writer.js +101 -0
- package/dist/browser/modules/excel/stream/sheet-rels-writer.d.ts +45 -0
- package/dist/browser/modules/excel/stream/sheet-rels-writer.js +91 -0
- package/dist/browser/modules/excel/stream/workbook-reader.browser.d.ts +169 -0
- package/dist/browser/modules/excel/stream/workbook-reader.browser.js +443 -0
- package/dist/browser/modules/excel/stream/workbook-reader.d.ts +24 -0
- package/dist/browser/modules/excel/stream/workbook-reader.js +50 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +147 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.js +356 -0
- package/dist/browser/modules/excel/stream/workbook-writer.d.ts +31 -0
- package/dist/browser/modules/excel/stream/workbook-writer.js +52 -0
- package/dist/browser/modules/excel/stream/worksheet-reader.d.ts +61 -0
- package/dist/browser/modules/excel/stream/worksheet-reader.js +367 -0
- package/dist/browser/modules/excel/stream/worksheet-writer.d.ts +140 -0
- package/dist/browser/modules/excel/stream/worksheet-writer.js +613 -0
- package/dist/browser/modules/excel/table.d.ts +81 -0
- package/dist/browser/modules/excel/table.js +405 -0
- package/dist/browser/modules/excel/types.d.ts +518 -0
- package/dist/browser/modules/excel/types.js +22 -0
- package/dist/browser/modules/excel/utils/cell-format.d.ts +32 -0
- package/dist/browser/modules/excel/utils/cell-format.js +814 -0
- package/dist/browser/modules/excel/utils/cell-matrix.d.ts +37 -0
- package/dist/browser/modules/excel/utils/cell-matrix.js +180 -0
- package/dist/browser/modules/excel/utils/col-cache.d.ts +36 -0
- package/dist/browser/modules/excel/utils/col-cache.js +278 -0
- package/dist/browser/modules/excel/utils/copy-style.d.ts +5 -0
- package/dist/browser/modules/excel/utils/copy-style.js +43 -0
- package/dist/browser/modules/excel/utils/encryptor.browser.d.ts +19 -0
- package/dist/browser/modules/excel/utils/encryptor.browser.js +46 -0
- package/dist/browser/modules/excel/utils/encryptor.d.ts +9 -0
- package/dist/browser/modules/excel/utils/encryptor.js +35 -0
- package/dist/browser/modules/excel/utils/iterate-stream.d.ts +14 -0
- package/dist/browser/modules/excel/utils/iterate-stream.js +55 -0
- package/dist/browser/modules/excel/utils/ooxml-paths.d.ts +64 -0
- package/dist/browser/modules/excel/utils/ooxml-paths.js +209 -0
- package/dist/browser/modules/excel/utils/parse-sax.d.ts +113 -0
- package/dist/browser/modules/excel/utils/parse-sax.js +1206 -0
- package/dist/browser/modules/excel/utils/shared-formula.d.ts +2 -0
- package/dist/browser/modules/excel/utils/shared-formula.js +36 -0
- package/dist/browser/modules/excel/utils/shared-strings.d.ts +12 -0
- package/dist/browser/modules/excel/utils/shared-strings.js +29 -0
- package/dist/browser/modules/excel/utils/sheet-utils.d.ts +190 -0
- package/dist/browser/modules/excel/utils/sheet-utils.js +674 -0
- package/dist/browser/modules/excel/utils/stream-buf.d.ts +126 -0
- package/dist/browser/modules/excel/utils/stream-buf.js +452 -0
- package/dist/browser/modules/excel/utils/string-buf.d.ts +29 -0
- package/dist/browser/modules/excel/utils/string-buf.js +75 -0
- package/dist/browser/modules/excel/utils/under-dash.d.ts +7 -0
- package/dist/browser/modules/excel/utils/under-dash.js +166 -0
- package/dist/browser/modules/excel/utils/xml-stream.d.ts +34 -0
- package/dist/browser/modules/excel/utils/xml-stream.js +179 -0
- package/dist/browser/modules/excel/workbook.d.ts +195 -0
- package/dist/browser/modules/excel/workbook.js +314 -0
- package/dist/browser/modules/excel/worksheet.d.ts +333 -0
- package/dist/browser/modules/excel/worksheet.js +924 -0
- package/dist/browser/modules/excel/xlsx/defaultnumformats.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/defaultnumformats.js +149 -0
- package/dist/browser/modules/excel/xlsx/rel-type.d.ts +19 -0
- package/dist/browser/modules/excel/xlsx/rel-type.js +19 -0
- package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +33 -0
- package/dist/browser/modules/excel/xlsx/xform/base-xform.js +135 -0
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +124 -0
- package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.js +30 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +11 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.js +21 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.js +24 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +11 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.js +24 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.js +46 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.d.ts +23 -0
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +234 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +28 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.js +76 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +21 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.js +72 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +34 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +30 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +27 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.js +55 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +35 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.js +82 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +24 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.js +96 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +25 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.js +83 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +23 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +60 -0
- package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +11 -0
- package/dist/browser/modules/excel/xlsx/xform/composite-xform.js +48 -0
- package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +8 -0
- package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.js +24 -0
- package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +8 -0
- package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.js +21 -0
- package/dist/browser/modules/excel/xlsx/xform/core/app-xform.d.ts +26 -0
- package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +83 -0
- package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.d.ts +11 -0
- package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +122 -0
- package/dist/browser/modules/excel/xlsx/xform/core/core-xform.d.ts +42 -0
- package/dist/browser/modules/excel/xlsx/xform/core/core-xform.js +124 -0
- package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.js +20 -0
- package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.js +62 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +44 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.js +57 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.js +40 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.js +32 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +18 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.js +59 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +24 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.js +68 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +24 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.js +96 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.js +37 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.js +34 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +11 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.js +39 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +15 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.js +56 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +52 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +22 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.js +64 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/sp-pr.d.ts +32 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/sp-pr.js +17 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +51 -0
- package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +32 -0
- package/dist/browser/modules/excel/xlsx/xform/list-xform.js +89 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +42 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +128 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +15 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.js +78 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +60 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +179 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +73 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +234 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +119 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +624 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +8 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.js +34 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +460 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +41 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +259 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +8 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.js +22 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.js +35 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.js +37 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +74 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.js +39 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +67 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.js +19 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +11 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.js +37 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +10 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +22 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +23 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +80 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +35 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +48 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +40 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +29 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +69 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.js +19 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +60 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +19 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.js +35 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.d.ts +22 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.js +75 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.js +269 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +10 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.js +23 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.js +27 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +66 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.js +124 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.js +47 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +9 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.js +21 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/merges.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/merges.js +50 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.js +36 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.js +33 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.js +42 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.js +29 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +27 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +96 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.js +27 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +15 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.js +41 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +10 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.js +29 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +37 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.js +152 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +16 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +49 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +19 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.js +82 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +31 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.js +80 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +32 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +193 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +12 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.js +27 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +21 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +518 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +15 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.js +24 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.d.ts +22 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.js +65 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.d.ts +18 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.js +47 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.js +52 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.d.ts +18 -0
- package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.js +47 -0
- package/dist/browser/modules/excel/xlsx/xform/static-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/static-xform.js +55 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +20 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +86 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +25 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.js +77 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.js +90 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +27 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.js +109 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.d.ts +10 -0
- package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.js +36 -0
- package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.d.ts +18 -0
- package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.js +152 -0
- package/dist/browser/modules/excel/xlsx/xform/style/border-xform.d.ts +49 -0
- package/dist/browser/modules/excel/xlsx/xform/style/border-xform.js +188 -0
- package/dist/browser/modules/excel/xlsx/xform/style/color-xform.d.ts +17 -0
- package/dist/browser/modules/excel/xlsx/xform/style/color-xform.js +61 -0
- package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.d.ts +23 -0
- package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.js +92 -0
- package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.d.ts +85 -0
- package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.js +312 -0
- package/dist/browser/modules/excel/xlsx/xform/style/font-xform.d.ts +35 -0
- package/dist/browser/modules/excel/xlsx/xform/style/font-xform.js +100 -0
- package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +18 -0
- package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.js +50 -0
- package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.d.ts +13 -0
- package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.js +49 -0
- package/dist/browser/modules/excel/xlsx/xform/style/style-xform.d.ts +30 -0
- package/dist/browser/modules/excel/xlsx/xform/style/style-xform.js +108 -0
- package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.d.ts +46 -0
- package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.js +484 -0
- package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.js +38 -0
- package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +21 -0
- package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +70 -0
- package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +15 -0
- package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.js +31 -0
- package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +24 -0
- package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.js +87 -0
- package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +14 -0
- package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.js +29 -0
- package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +21 -0
- package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.js +41 -0
- package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +18 -0
- package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.js +44 -0
- package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +33 -0
- package/dist/browser/modules/excel/xlsx/xform/table/table-xform.js +126 -0
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +208 -0
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +1152 -0
- package/dist/browser/modules/excel/xlsx/xlsx.d.ts +24 -0
- package/dist/browser/modules/excel/xlsx/xlsx.js +239 -0
- package/dist/browser/modules/excel/xlsx/xml/theme1.d.ts +1 -0
- package/dist/browser/modules/excel/xlsx/xml/theme1.js +1 -0
- package/dist/browser/modules/stream/base-transform.d.ts +68 -0
- package/dist/browser/modules/stream/base-transform.js +160 -0
- package/dist/browser/modules/stream/buffered-stream.d.ts +94 -0
- package/dist/browser/modules/stream/buffered-stream.js +277 -0
- package/dist/browser/modules/stream/chunked-builder.d.ts +97 -0
- package/dist/browser/modules/stream/chunked-builder.js +165 -0
- package/dist/browser/modules/stream/event-emitter.d.ts +30 -0
- package/dist/browser/modules/stream/event-emitter.js +239 -0
- package/dist/browser/modules/stream/index.browser.d.ts +22 -0
- package/dist/browser/modules/stream/index.browser.js +25 -0
- package/dist/browser/modules/stream/index.d.ts +49 -0
- package/dist/browser/modules/stream/index.js +52 -0
- package/dist/browser/modules/stream/pull-stream.d.ts +67 -0
- package/dist/browser/modules/stream/pull-stream.js +204 -0
- package/dist/browser/modules/stream/shared.d.ts +54 -0
- package/dist/browser/modules/stream/shared.js +156 -0
- package/dist/browser/modules/stream/streams.browser.d.ts +936 -0
- package/dist/browser/modules/stream/streams.browser.js +3297 -0
- package/dist/browser/modules/stream/streams.d.ts +282 -0
- package/dist/browser/modules/stream/streams.js +940 -0
- package/dist/browser/modules/stream/types.d.ts +238 -0
- package/dist/browser/modules/stream/types.js +7 -0
- package/dist/browser/modules/stream/utils.d.ts +24 -0
- package/dist/browser/modules/stream/utils.js +85 -0
- package/dist/browser/utils/browser.d.ts +9 -0
- package/dist/browser/utils/browser.js +49 -0
- package/dist/browser/utils/datetime.d.ts +56 -0
- package/dist/browser/utils/datetime.js +493 -0
- package/dist/browser/utils/env.d.ts +14 -0
- package/dist/browser/utils/env.js +18 -0
- package/dist/browser/utils/utils.base.d.ts +49 -0
- package/dist/browser/utils/utils.base.js +275 -0
- package/dist/browser/utils/utils.browser.d.ts +6 -0
- package/dist/browser/utils/utils.browser.js +12 -0
- package/dist/browser/utils/utils.d.ts +6 -0
- package/dist/browser/utils/utils.js +19 -0
- package/dist/browser/utils/uuid.d.ts +11 -0
- package/dist/browser/utils/uuid.js +55 -0
- package/dist/{browser → iife}/excelts.iife.js +1 -1
- package/dist/{browser → iife}/excelts.iife.min.js +1 -1
- package/dist/types/index.browser.d.ts +20 -20
- package/dist/types/index.d.ts +23 -23
- package/dist/types/modules/archive/compress.browser.d.ts +1 -1
- package/dist/types/modules/archive/compress.d.ts +2 -2
- package/dist/types/modules/archive/crc32.browser.d.ts +1 -1
- package/dist/types/modules/archive/crc32.d.ts +1 -1
- package/dist/types/modules/archive/defaults.d.ts +1 -1
- package/dist/types/modules/archive/extract.d.ts +2 -2
- package/dist/types/modules/archive/index.base.d.ts +4 -4
- package/dist/types/modules/archive/index.browser.d.ts +5 -5
- package/dist/types/modules/archive/index.d.ts +5 -5
- package/dist/types/modules/archive/parse.base.d.ts +3 -3
- package/dist/types/modules/archive/parse.browser.d.ts +2 -2
- package/dist/types/modules/archive/parse.d.ts +3 -3
- package/dist/types/modules/archive/streaming-compress.browser.d.ts +2 -2
- package/dist/types/modules/archive/streaming-compress.d.ts +2 -2
- package/dist/types/modules/archive/streaming-zip.d.ts +2 -2
- package/dist/types/modules/archive/zip-builder.d.ts +2 -2
- package/dist/types/modules/archive/zip-entry-metadata.d.ts +1 -1
- package/dist/types/modules/archive/zip-parser.d.ts +1 -1
- package/dist/types/modules/csv/csv-stream.d.ts +3 -3
- package/dist/types/modules/csv/csv.browser.d.ts +9 -9
- package/dist/types/modules/csv/csv.d.ts +4 -4
- package/dist/types/modules/excel/anchor.d.ts +1 -1
- package/dist/types/modules/excel/cell.d.ts +7 -7
- package/dist/types/modules/excel/column.d.ts +3 -3
- package/dist/types/modules/excel/defined-names.d.ts +4 -4
- package/dist/types/modules/excel/image.d.ts +2 -2
- package/dist/types/modules/excel/pivot-table.d.ts +1 -1
- package/dist/types/modules/excel/range.d.ts +1 -1
- package/dist/types/modules/excel/row.d.ts +3 -3
- package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +2 -2
- package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +6 -6
- package/dist/types/modules/excel/stream/workbook-reader.d.ts +5 -5
- package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +8 -8
- package/dist/types/modules/excel/stream/workbook-writer.d.ts +2 -2
- package/dist/types/modules/excel/stream/worksheet-reader.d.ts +6 -6
- package/dist/types/modules/excel/stream/worksheet-writer.d.ts +9 -9
- package/dist/types/modules/excel/table.d.ts +2 -2
- package/dist/types/modules/excel/utils/col-cache.d.ts +1 -1
- package/dist/types/modules/excel/utils/sheet-utils.d.ts +3 -3
- package/dist/types/modules/excel/utils/stream-buf.d.ts +2 -2
- package/dist/types/modules/excel/workbook.d.ts +9 -9
- package/dist/types/modules/excel/worksheet.d.ts +10 -10
- package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/sheet-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/app-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/content-types-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/core-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/relationship-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/core/relationships-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/col-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/simple/date-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/simple/float-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/simple/integer-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/simple/string-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/static-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/strings/text-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/alignment-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/border-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/style/color-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/dxf-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/fill-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/style/font-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/protection-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/style/style-xform.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/style/underline-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +2 -2
- package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +3 -3
- package/dist/types/modules/excel/xlsx/xlsx.d.ts +1 -1
- package/dist/types/modules/stream/base-transform.d.ts +1 -1
- package/dist/types/modules/stream/buffered-stream.d.ts +1 -1
- package/dist/types/modules/stream/index.browser.d.ts +8 -8
- package/dist/types/modules/stream/index.d.ts +8 -8
- package/dist/types/modules/stream/pull-stream.d.ts +1 -1
- package/dist/types/modules/stream/streams.browser.d.ts +4 -4
- package/dist/types/modules/stream/streams.d.ts +3 -3
- package/dist/types/modules/stream/utils.d.ts +1 -1
- package/dist/types/utils/utils.browser.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +1 -1
- package/package.json +10 -6
- package/dist/browser/excelts.esm.js +0 -24621
- package/dist/browser/excelts.esm.js.map +0 -1
- package/dist/browser/excelts.esm.min.js +0 -148
- /package/dist/{browser → iife}/excelts.iife.js.map +0 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { Table } from "@excel/table";
|
|
2
|
+
/**
|
|
3
|
+
* Interface representing the source data abstraction for pivot tables.
|
|
4
|
+
* This allows both Worksheet and Table to be used as pivot table data sources.
|
|
5
|
+
*/
|
|
6
|
+
export interface PivotTableSource {
|
|
7
|
+
/** Name of the worksheet containing the source data (used in pivotCacheDefinition) */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Get row values by 1-indexed row number */
|
|
10
|
+
getRow(rowNumber: number): {
|
|
11
|
+
values: any[];
|
|
12
|
+
};
|
|
13
|
+
/** Get column values by 1-indexed column number */
|
|
14
|
+
getColumn(columnNumber: number): {
|
|
15
|
+
values: any[];
|
|
16
|
+
};
|
|
17
|
+
/** Get all sheet values as a sparse 2D array */
|
|
18
|
+
getSheetValues(): any[][];
|
|
19
|
+
/** Dimensions with short range reference (e.g., "A1:E10") */
|
|
20
|
+
dimensions: {
|
|
21
|
+
shortRange: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Model for creating a new pivot table.
|
|
26
|
+
* Pass this to worksheet.addPivotTable() to create a pivot table.
|
|
27
|
+
*/
|
|
28
|
+
export interface PivotTableModel {
|
|
29
|
+
/**
|
|
30
|
+
* Source worksheet for the pivot table data.
|
|
31
|
+
* Either sourceSheet or sourceTable must be provided (mutually exclusive).
|
|
32
|
+
*/
|
|
33
|
+
sourceSheet?: PivotTableSource;
|
|
34
|
+
/**
|
|
35
|
+
* Source table for the pivot table data.
|
|
36
|
+
* Either sourceSheet or sourceTable must be provided (mutually exclusive).
|
|
37
|
+
* The table must have headerRow=true and contain at least one data row.
|
|
38
|
+
*/
|
|
39
|
+
sourceTable?: Table;
|
|
40
|
+
/** Column names to use as row fields in the pivot table */
|
|
41
|
+
rows: string[];
|
|
42
|
+
/**
|
|
43
|
+
* Column names to use as column fields in the pivot table.
|
|
44
|
+
* If omitted or empty, Excel will use "Values" as the column field.
|
|
45
|
+
* @default []
|
|
46
|
+
*/
|
|
47
|
+
columns?: string[];
|
|
48
|
+
/** Column names to aggregate as values in the pivot table */
|
|
49
|
+
values: string[];
|
|
50
|
+
/**
|
|
51
|
+
* Aggregation metric for the pivot table values.
|
|
52
|
+
* - 'sum': Sum of values (default)
|
|
53
|
+
* - 'count': Count of values
|
|
54
|
+
* @default 'sum'
|
|
55
|
+
*/
|
|
56
|
+
metric?: "sum" | "count";
|
|
57
|
+
/**
|
|
58
|
+
* Controls whether pivot table style overrides worksheet column widths.
|
|
59
|
+
* - '0': Preserve worksheet column widths (useful for custom sizing)
|
|
60
|
+
* - '1': Apply pivot table style width/height (default Excel behavior)
|
|
61
|
+
* @default '1'
|
|
62
|
+
*/
|
|
63
|
+
applyWidthHeightFormats?: "0" | "1";
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Represents a cache field in a pivot table.
|
|
67
|
+
* Cache fields store unique values from source columns for row/column grouping.
|
|
68
|
+
*/
|
|
69
|
+
export interface CacheField {
|
|
70
|
+
/** Name of the field (column header from source) */
|
|
71
|
+
name: string;
|
|
72
|
+
/** Unique values for row/column fields, null for value fields */
|
|
73
|
+
sharedItems: any[] | null;
|
|
74
|
+
/** Minimum value for numeric fields */
|
|
75
|
+
minValue?: number;
|
|
76
|
+
/** Maximum value for numeric fields */
|
|
77
|
+
maxValue?: number;
|
|
78
|
+
}
|
|
79
|
+
/** Aggregation function types for pivot table data fields */
|
|
80
|
+
export type PivotTableSubtotal = "sum" | "count" | "average" | "max" | "min" | "product" | "countNums" | "stdDev" | "stdDevP" | "var" | "varP";
|
|
81
|
+
/**
|
|
82
|
+
* Data field configuration for pivot table aggregation.
|
|
83
|
+
* Defines how values are aggregated in the pivot table.
|
|
84
|
+
*/
|
|
85
|
+
export interface DataField {
|
|
86
|
+
/** Display name for the data field (e.g., "Sum of Sales") */
|
|
87
|
+
name: string;
|
|
88
|
+
/** Index of the source field in cacheFields */
|
|
89
|
+
fld: number;
|
|
90
|
+
/** Base field index for calculated fields */
|
|
91
|
+
baseField?: number;
|
|
92
|
+
/** Base item index for calculated fields */
|
|
93
|
+
baseItem?: number;
|
|
94
|
+
/** Aggregation function (default: 'sum') */
|
|
95
|
+
subtotal?: PivotTableSubtotal;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Internal pivot table representation used by the library.
|
|
99
|
+
* This is the processed model after calling makePivotTable().
|
|
100
|
+
*/
|
|
101
|
+
export interface PivotTable {
|
|
102
|
+
/** Source data adapter (always present for new pivot tables) */
|
|
103
|
+
source?: PivotTableSource;
|
|
104
|
+
/** Field indices for row fields */
|
|
105
|
+
rows: number[];
|
|
106
|
+
/** Field indices for column fields */
|
|
107
|
+
columns: number[];
|
|
108
|
+
/** Field indices for value fields */
|
|
109
|
+
values: number[];
|
|
110
|
+
/** Aggregation metric */
|
|
111
|
+
metric: "sum" | "count";
|
|
112
|
+
/** Cache fields with shared items */
|
|
113
|
+
cacheFields: CacheField[];
|
|
114
|
+
/** Cache ID for linking to pivot cache */
|
|
115
|
+
cacheId: string;
|
|
116
|
+
/** Width/height format setting */
|
|
117
|
+
applyWidthHeightFormats: "0" | "1";
|
|
118
|
+
/** 1-indexed table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.) */
|
|
119
|
+
tableNumber: number;
|
|
120
|
+
/** Flag indicating this pivot table was loaded from file (not newly created) */
|
|
121
|
+
isLoaded?: boolean;
|
|
122
|
+
/** Data fields for loaded pivot tables */
|
|
123
|
+
dataFields?: DataField[];
|
|
124
|
+
/** Cache definition for loaded pivot tables */
|
|
125
|
+
cacheDefinition?: ParsedCacheDefinition;
|
|
126
|
+
/** Cache records for loaded pivot tables */
|
|
127
|
+
cacheRecords?: ParsedCacheRecords;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Parsed cache definition from loaded pivot table files.
|
|
131
|
+
*/
|
|
132
|
+
export interface ParsedCacheDefinition {
|
|
133
|
+
sourceRef?: string;
|
|
134
|
+
sourceSheet?: string;
|
|
135
|
+
cacheFields: CacheField[];
|
|
136
|
+
recordCount?: number;
|
|
137
|
+
rId?: string;
|
|
138
|
+
isLoaded?: boolean;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Parsed cache records from loaded pivot table files.
|
|
142
|
+
*/
|
|
143
|
+
export interface ParsedCacheRecords {
|
|
144
|
+
records: Array<Array<{
|
|
145
|
+
type: string;
|
|
146
|
+
value?: any;
|
|
147
|
+
}>>;
|
|
148
|
+
count: number;
|
|
149
|
+
isLoaded?: boolean;
|
|
150
|
+
}
|
|
151
|
+
declare function makePivotTable(worksheet: any, model: PivotTableModel): PivotTable;
|
|
152
|
+
export { makePivotTable };
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { range, toSortedArray } from "../../utils/utils.browser.js";
|
|
2
|
+
import { colCache } from "./utils/col-cache.js";
|
|
3
|
+
// TK(2023-10-10): turn this into a class constructor.
|
|
4
|
+
/**
|
|
5
|
+
* Creates a PivotTableSource adapter from a Table object.
|
|
6
|
+
* This allows Tables to be used as pivot table data sources with the same interface as Worksheets.
|
|
7
|
+
*/
|
|
8
|
+
function createTableSourceAdapter(table) {
|
|
9
|
+
const tableModel = table.model;
|
|
10
|
+
// Validate that table has headerRow enabled (required for pivot table column names)
|
|
11
|
+
if (tableModel.headerRow === false) {
|
|
12
|
+
throw new Error("Cannot create pivot table from a table without headers. Set headerRow: true on the table.");
|
|
13
|
+
}
|
|
14
|
+
// Validate table has data rows
|
|
15
|
+
if (!tableModel.rows || tableModel.rows.length === 0) {
|
|
16
|
+
throw new Error("Cannot create pivot table from an empty table. Add data rows to the table.");
|
|
17
|
+
}
|
|
18
|
+
const columnNames = tableModel.columns.map(col => col.name);
|
|
19
|
+
// Check for duplicate column names
|
|
20
|
+
const nameSet = new Set();
|
|
21
|
+
for (const name of columnNames) {
|
|
22
|
+
if (nameSet.has(name)) {
|
|
23
|
+
throw new Error(`Duplicate column name "${name}" found in table. Pivot tables require unique column names.`);
|
|
24
|
+
}
|
|
25
|
+
nameSet.add(name);
|
|
26
|
+
}
|
|
27
|
+
// Build the full data array: headers + rows
|
|
28
|
+
const headerRow = [undefined, ...columnNames]; // sparse array starting at index 1
|
|
29
|
+
const dataRows = tableModel.rows.map(row => [undefined, ...row]); // sparse array starting at index 1
|
|
30
|
+
// Calculate the range reference for the table
|
|
31
|
+
const tl = tableModel.tl;
|
|
32
|
+
const startRow = tl.row;
|
|
33
|
+
const startCol = tl.col;
|
|
34
|
+
const endRow = startRow + tableModel.rows.length; // header row + data rows
|
|
35
|
+
const endCol = startCol + columnNames.length - 1;
|
|
36
|
+
const shortRange = colCache.encode(startRow, startCol, endRow, endCol);
|
|
37
|
+
// Use the worksheet name (not table name) for pivotCacheDefinition's worksheetSource
|
|
38
|
+
// The sheet attribute in worksheetSource must reference the actual worksheet name
|
|
39
|
+
const worksheetName = table.worksheet.name;
|
|
40
|
+
return {
|
|
41
|
+
name: worksheetName,
|
|
42
|
+
getRow(rowNumber) {
|
|
43
|
+
if (rowNumber === 1) {
|
|
44
|
+
return { values: headerRow };
|
|
45
|
+
}
|
|
46
|
+
const dataIndex = rowNumber - 2; // rowNumber 2 maps to index 0
|
|
47
|
+
if (dataIndex >= 0 && dataIndex < dataRows.length) {
|
|
48
|
+
return { values: dataRows[dataIndex] };
|
|
49
|
+
}
|
|
50
|
+
return { values: [] };
|
|
51
|
+
},
|
|
52
|
+
getColumn(columnNumber) {
|
|
53
|
+
// Validate column number is within bounds
|
|
54
|
+
if (columnNumber < 1 || columnNumber > columnNames.length) {
|
|
55
|
+
return { values: [] };
|
|
56
|
+
}
|
|
57
|
+
// Values should be sparse array with header at index 1, data starting at index 2
|
|
58
|
+
const values = [];
|
|
59
|
+
values[1] = columnNames[columnNumber - 1];
|
|
60
|
+
for (let i = 0; i < tableModel.rows.length; i++) {
|
|
61
|
+
values[i + 2] = tableModel.rows[i][columnNumber - 1];
|
|
62
|
+
}
|
|
63
|
+
return { values };
|
|
64
|
+
},
|
|
65
|
+
getSheetValues() {
|
|
66
|
+
// Return sparse array where index 1 is header row, and subsequent indices are data rows
|
|
67
|
+
const result = [];
|
|
68
|
+
result[1] = headerRow;
|
|
69
|
+
for (let i = 0; i < dataRows.length; i++) {
|
|
70
|
+
result[i + 2] = dataRows[i];
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
},
|
|
74
|
+
dimensions: { shortRange }
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Resolves the data source from the model, supporting both sourceSheet and sourceTable.
|
|
79
|
+
*/
|
|
80
|
+
function resolveSource(model) {
|
|
81
|
+
if (model.sourceTable) {
|
|
82
|
+
return createTableSourceAdapter(model.sourceTable);
|
|
83
|
+
}
|
|
84
|
+
// For sourceSheet, it already implements the required interface
|
|
85
|
+
return model.sourceSheet;
|
|
86
|
+
}
|
|
87
|
+
function makePivotTable(worksheet, model) {
|
|
88
|
+
// Example `model`:
|
|
89
|
+
// {
|
|
90
|
+
// // Source of data (either sourceSheet OR sourceTable):
|
|
91
|
+
// sourceSheet: worksheet1, // Use entire sheet range
|
|
92
|
+
// // OR
|
|
93
|
+
// sourceTable: table, // Use table data
|
|
94
|
+
//
|
|
95
|
+
// // Pivot table fields: values indicate field names;
|
|
96
|
+
// // they come from the first row in `worksheet1` or table column names.
|
|
97
|
+
// rows: ['A', 'B'],
|
|
98
|
+
// columns: ['C'],
|
|
99
|
+
// values: ['E'], // only 1 item possible for now
|
|
100
|
+
// metric: 'sum', // only 'sum' possible for now
|
|
101
|
+
// }
|
|
102
|
+
// Validate source exists before trying to resolve it
|
|
103
|
+
if (!model.sourceSheet && !model.sourceTable) {
|
|
104
|
+
throw new Error("Either sourceSheet or sourceTable must be provided.");
|
|
105
|
+
}
|
|
106
|
+
if (model.sourceSheet && model.sourceTable) {
|
|
107
|
+
throw new Error("Cannot specify both sourceSheet and sourceTable. Choose one.");
|
|
108
|
+
}
|
|
109
|
+
// Resolve source first to avoid creating adapter multiple times
|
|
110
|
+
const source = resolveSource(model);
|
|
111
|
+
validate(worksheet, model, source);
|
|
112
|
+
const { rows, values } = model;
|
|
113
|
+
const columns = model.columns ?? [];
|
|
114
|
+
const cacheFields = makeCacheFields(source, [...rows, ...columns], values);
|
|
115
|
+
const nameToIndex = cacheFields.reduce((result, cacheField, index) => {
|
|
116
|
+
result[cacheField.name] = index;
|
|
117
|
+
return result;
|
|
118
|
+
}, {});
|
|
119
|
+
const rowIndices = rows.map(row => nameToIndex[row]);
|
|
120
|
+
const columnIndices = columns.map(column => nameToIndex[column]);
|
|
121
|
+
const valueIndices = values.map(value => nameToIndex[value]);
|
|
122
|
+
// Calculate tableNumber based on existing pivot tables (1-indexed)
|
|
123
|
+
const tableNumber = worksheet.workbook.pivotTables.length + 1;
|
|
124
|
+
// Base cache ID starts at 10 (Excel convention), each subsequent table increments
|
|
125
|
+
const BASE_CACHE_ID = 10;
|
|
126
|
+
// form pivot table object
|
|
127
|
+
return {
|
|
128
|
+
source,
|
|
129
|
+
rows: rowIndices,
|
|
130
|
+
columns: columnIndices,
|
|
131
|
+
values: valueIndices,
|
|
132
|
+
metric: model.metric ?? "sum",
|
|
133
|
+
cacheFields,
|
|
134
|
+
// Dynamic cacheId: 10 for first table, 11 for second, etc.
|
|
135
|
+
// Used in <pivotTableDefinition> and xl/workbook.xml
|
|
136
|
+
cacheId: String(BASE_CACHE_ID + tableNumber - 1),
|
|
137
|
+
// Control whether pivot table style overrides worksheet column widths
|
|
138
|
+
// '0' = preserve worksheet column widths (useful for custom sizing)
|
|
139
|
+
// '1' = apply pivot table style width/height (default Excel behavior)
|
|
140
|
+
applyWidthHeightFormats: model.applyWidthHeightFormats ?? "1",
|
|
141
|
+
// Table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.)
|
|
142
|
+
tableNumber
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function validate(_worksheet, model, source) {
|
|
146
|
+
if (model.metric && model.metric !== "sum" && model.metric !== "count") {
|
|
147
|
+
throw new Error('Only the "sum" and "count" metrics are supported at this time.');
|
|
148
|
+
}
|
|
149
|
+
const columns = model.columns ?? [];
|
|
150
|
+
// Get header names from source (already resolved)
|
|
151
|
+
const headerNames = source.getRow(1).values.slice(1);
|
|
152
|
+
// Use Set for O(1) lookup
|
|
153
|
+
const headerNameSet = new Set(headerNames);
|
|
154
|
+
for (const name of [...model.rows, ...columns, ...model.values]) {
|
|
155
|
+
if (!headerNameSet.has(name)) {
|
|
156
|
+
throw new Error(`The header name "${name}" was not found in ${source.name}.`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (!model.rows.length) {
|
|
160
|
+
throw new Error("No pivot table rows specified.");
|
|
161
|
+
}
|
|
162
|
+
// Allow empty columns - Excel will use "Values" as column field
|
|
163
|
+
// But can't have multiple values with columns specified
|
|
164
|
+
if (model.values.length < 1) {
|
|
165
|
+
throw new Error("Must have at least one value.");
|
|
166
|
+
}
|
|
167
|
+
if (model.values.length > 1 && columns.length > 0) {
|
|
168
|
+
throw new Error("It is currently not possible to have multiple values when columns are specified. Please either supply an empty array for columns or a single value.");
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function makeCacheFields(source, fieldNamesWithSharedItems, valueFieldNames) {
|
|
172
|
+
// Cache fields are used in pivot tables to reference source data.
|
|
173
|
+
// Fields in fieldNamesWithSharedItems get their unique values extracted as sharedItems.
|
|
174
|
+
// Fields in valueFieldNames (but not in fieldNamesWithSharedItems) get min/max calculated.
|
|
175
|
+
// Other fields are unused and get empty sharedItems.
|
|
176
|
+
const names = source.getRow(1).values;
|
|
177
|
+
// Use Set for O(1) lookup instead of object
|
|
178
|
+
const sharedItemsFields = new Set(fieldNamesWithSharedItems);
|
|
179
|
+
const valueFields = new Set(valueFieldNames);
|
|
180
|
+
const aggregate = (columnIndex) => {
|
|
181
|
+
const columnValues = source.getColumn(columnIndex).values;
|
|
182
|
+
// Build unique values set directly, skipping header (index 0,1) and null/undefined
|
|
183
|
+
const uniqueValues = new Set();
|
|
184
|
+
for (let i = 2; i < columnValues.length; i++) {
|
|
185
|
+
const v = columnValues[i];
|
|
186
|
+
if (v !== null && v !== undefined) {
|
|
187
|
+
uniqueValues.add(v);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return toSortedArray(uniqueValues);
|
|
191
|
+
};
|
|
192
|
+
// Calculate min/max for numeric fields
|
|
193
|
+
const getMinMax = (columnIndex) => {
|
|
194
|
+
const columnValues = source.getColumn(columnIndex).values;
|
|
195
|
+
let min = Infinity;
|
|
196
|
+
let max = -Infinity;
|
|
197
|
+
let hasNumeric = false;
|
|
198
|
+
for (let i = 2; i < columnValues.length; i++) {
|
|
199
|
+
const v = columnValues[i];
|
|
200
|
+
if (typeof v === "number" && !isNaN(v)) {
|
|
201
|
+
hasNumeric = true;
|
|
202
|
+
if (v < min) {
|
|
203
|
+
min = v;
|
|
204
|
+
}
|
|
205
|
+
if (v > max) {
|
|
206
|
+
max = v;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return hasNumeric ? { minValue: min, maxValue: max } : null;
|
|
211
|
+
};
|
|
212
|
+
// Build result array
|
|
213
|
+
const result = [];
|
|
214
|
+
for (const columnIndex of range(1, names.length)) {
|
|
215
|
+
const name = names[columnIndex];
|
|
216
|
+
if (sharedItemsFields.has(name)) {
|
|
217
|
+
// Field used for rows/columns - extract unique values as sharedItems
|
|
218
|
+
result.push({ name, sharedItems: aggregate(columnIndex) });
|
|
219
|
+
}
|
|
220
|
+
else if (valueFields.has(name)) {
|
|
221
|
+
// Field used only for values (aggregation) - calculate min/max
|
|
222
|
+
const minMax = getMinMax(columnIndex);
|
|
223
|
+
result.push({
|
|
224
|
+
name,
|
|
225
|
+
sharedItems: null,
|
|
226
|
+
minValue: minMax?.minValue,
|
|
227
|
+
maxValue: minMax?.maxValue
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
// Unused field - just empty sharedItems (like Excel does)
|
|
232
|
+
result.push({ name, sharedItems: null });
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
export { makePivotTable };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Address } from "@excel/types";
|
|
2
|
+
interface RangeModel {
|
|
3
|
+
top: number;
|
|
4
|
+
left: number;
|
|
5
|
+
bottom: number;
|
|
6
|
+
right: number;
|
|
7
|
+
sheetName?: string;
|
|
8
|
+
}
|
|
9
|
+
interface RowDimensions {
|
|
10
|
+
min: number;
|
|
11
|
+
max: number;
|
|
12
|
+
}
|
|
13
|
+
interface RowWithDimensions {
|
|
14
|
+
number: number;
|
|
15
|
+
dimensions?: RowDimensions;
|
|
16
|
+
}
|
|
17
|
+
export type RangeInput = Range | RangeModel | string | number | RangeInput[];
|
|
18
|
+
declare class Range {
|
|
19
|
+
model: RangeModel;
|
|
20
|
+
constructor();
|
|
21
|
+
constructor(range: Range);
|
|
22
|
+
constructor(model: RangeModel);
|
|
23
|
+
constructor(rangeString: string);
|
|
24
|
+
constructor(args: RangeInput[]);
|
|
25
|
+
constructor(tl: string, br: string);
|
|
26
|
+
constructor(tl: string, br: string, sheetName: string);
|
|
27
|
+
constructor(top: number, left: number, bottom: number, right: number);
|
|
28
|
+
constructor(top: number, left: number, bottom: number, right: number, sheetName: string);
|
|
29
|
+
setTLBR(tl: string, br: string, sheetName?: string): void;
|
|
30
|
+
setTLBR(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
|
|
31
|
+
private decode;
|
|
32
|
+
get top(): number;
|
|
33
|
+
set top(value: number);
|
|
34
|
+
get left(): number;
|
|
35
|
+
set left(value: number);
|
|
36
|
+
get bottom(): number;
|
|
37
|
+
set bottom(value: number);
|
|
38
|
+
get right(): number;
|
|
39
|
+
set right(value: number);
|
|
40
|
+
get sheetName(): string | undefined;
|
|
41
|
+
set sheetName(value: string | undefined);
|
|
42
|
+
get _serialisedSheetName(): string;
|
|
43
|
+
expand(top: number, left: number, bottom: number, right: number): void;
|
|
44
|
+
expandRow(row: RowWithDimensions | null | undefined): void;
|
|
45
|
+
expandToAddress(addressStr: string): void;
|
|
46
|
+
get tl(): string;
|
|
47
|
+
get $t$l(): string;
|
|
48
|
+
get br(): string;
|
|
49
|
+
get $b$r(): string;
|
|
50
|
+
get range(): string;
|
|
51
|
+
get $range(): string;
|
|
52
|
+
get shortRange(): string;
|
|
53
|
+
get $shortRange(): string;
|
|
54
|
+
get count(): number;
|
|
55
|
+
toString(): string;
|
|
56
|
+
intersects(other: Range): boolean;
|
|
57
|
+
contains(addressStr: string): boolean;
|
|
58
|
+
containsEx(address: Address): boolean;
|
|
59
|
+
forEachAddress(cb: (address: string, row: number, col: number) => void): void;
|
|
60
|
+
}
|
|
61
|
+
export { Range };
|
|
62
|
+
export { Range as Dimensions };
|