@cj-tech-master/excelts 1.6.2-canary.20251224015244.0b06ae9 → 1.6.3-canary.20251224124621.73c5d94
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 +31 -18
- package/README_zh.md +31 -19
- package/dist/browser/excelts.esm.js +19115 -0
- package/dist/browser/excelts.esm.js.map +1 -0
- package/dist/browser/excelts.esm.min.js +127 -0
- package/dist/browser/excelts.iife.js +13576 -46968
- package/dist/browser/excelts.iife.js.map +1 -1
- package/dist/browser/excelts.iife.min.js +25 -105
- package/dist/cjs/csv/csv-core.js +701 -0
- package/dist/cjs/csv/csv-stream.js +646 -0
- package/dist/cjs/csv/csv.base.js +154 -0
- package/dist/cjs/csv/csv.browser.js +68 -0
- package/dist/cjs/csv/csv.js +226 -162
- package/dist/cjs/doc/anchor.js +2 -2
- package/dist/cjs/doc/cell.js +22 -22
- package/dist/cjs/doc/column.js +7 -7
- package/dist/cjs/doc/data-validations.js +3 -3
- package/dist/cjs/doc/defined-names.js +13 -13
- package/dist/cjs/doc/image.js +7 -7
- package/dist/cjs/doc/modelcontainer.js +2 -2
- package/dist/cjs/doc/note.js +2 -2
- package/dist/cjs/doc/pivot-table.js +5 -5
- package/dist/cjs/doc/range.js +11 -11
- package/dist/cjs/doc/row.js +16 -16
- package/dist/cjs/doc/table.js +5 -5
- package/dist/cjs/doc/workbook.base.js +211 -0
- package/dist/cjs/doc/workbook.browser.js +62 -0
- package/dist/cjs/doc/workbook.js +68 -179
- package/dist/cjs/doc/worksheet.js +41 -41
- package/dist/cjs/index.js +49 -32
- package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
- package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
- package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
- package/dist/cjs/stream/xlsx/workbook-reader.js +22 -22
- package/dist/cjs/stream/xlsx/workbook-writer.js +34 -34
- package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
- package/dist/cjs/stream/xlsx/worksheet-writer.js +60 -60
- package/dist/cjs/utils/browser-buffer.js +75 -0
- package/dist/cjs/utils/cell-format.js +2 -2
- package/dist/cjs/utils/cell-matrix.js +5 -5
- package/dist/cjs/utils/encryptor.browser.js +240 -0
- package/dist/cjs/utils/parse-sax.js +2 -2
- package/dist/cjs/utils/shared-formula.js +5 -5
- package/dist/cjs/utils/sheet-utils.js +13 -13
- package/dist/cjs/utils/stream-buf.browser.js +355 -0
- package/dist/cjs/utils/stream-buf.js +5 -5
- package/dist/cjs/utils/unzip/extract.js +11 -11
- package/dist/cjs/utils/unzip/index.js +21 -21
- package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
- package/dist/cjs/utils/unzip/parse.js +16 -16
- package/dist/cjs/utils/unzip/zip-parser.js +3 -3
- package/dist/cjs/utils/utils.base.js +161 -0
- package/dist/cjs/utils/utils.browser.js +89 -0
- package/dist/cjs/utils/utils.js +46 -154
- package/dist/cjs/utils/xml-stream.js +3 -3
- package/dist/cjs/utils/zip/compress.base.js +85 -0
- package/dist/cjs/utils/zip/compress.browser.js +83 -0
- package/dist/cjs/utils/zip/compress.js +18 -198
- package/dist/cjs/utils/zip/crc32.browser.js +88 -0
- package/dist/cjs/utils/zip/index.js +17 -17
- package/dist/cjs/utils/zip/zip-builder.js +10 -10
- package/dist/cjs/utils/zip-stream.browser.js +135 -0
- package/dist/cjs/utils/zip-stream.js +4 -4
- package/dist/cjs/xlsx/xform/base-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
- package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
- package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
- package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
- package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
- package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
- package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
- package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
- package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
- package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
- package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
- package/dist/cjs/xlsx/xform/list-xform.js +2 -2
- package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
- package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
- package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
- package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
- package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
- package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
- package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
- package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
- package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +68 -68
- package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
- package/dist/cjs/xlsx/xform/static-xform.js +4 -4
- package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
- package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
- package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
- package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
- package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
- package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
- package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
- package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
- package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
- package/dist/cjs/xlsx/xlsx.base.js +742 -0
- package/dist/cjs/xlsx/xlsx.browser.js +205 -0
- package/dist/cjs/xlsx/xlsx.js +91 -833
- package/dist/esm/csv/csv-core.js +694 -0
- package/dist/esm/csv/csv-stream.js +638 -0
- package/dist/esm/csv/csv.base.js +141 -0
- package/dist/esm/csv/csv.browser.js +65 -0
- package/dist/esm/csv/csv.js +189 -159
- package/dist/esm/doc/workbook.base.js +207 -0
- package/dist/esm/doc/workbook.browser.js +59 -0
- package/dist/esm/doc/workbook.js +64 -175
- package/dist/esm/index.browser.js +33 -1
- package/dist/esm/index.js +23 -8
- package/dist/esm/local.js +0 -1
- package/dist/esm/utils/browser-buffer.js +67 -0
- package/dist/esm/utils/encryptor.browser.js +237 -0
- package/dist/esm/utils/stream-buf.browser.js +352 -0
- package/dist/esm/utils/utils.base.js +142 -0
- package/dist/esm/utils/utils.browser.js +68 -0
- package/dist/esm/utils/utils.js +15 -123
- package/dist/esm/utils/zip/compress.base.js +80 -0
- package/dist/esm/utils/zip/compress.browser.js +76 -0
- package/dist/esm/utils/zip/compress.js +16 -164
- package/dist/esm/utils/zip/crc32.browser.js +82 -0
- package/dist/esm/utils/zip-stream.browser.js +132 -0
- package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
- package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
- package/dist/esm/xlsx/xlsx.base.js +739 -0
- package/dist/esm/xlsx/xlsx.browser.js +202 -0
- package/dist/esm/xlsx/xlsx.js +87 -829
- package/dist/types/csv/csv-core.d.ts +207 -0
- package/dist/types/csv/csv-stream.d.ts +114 -0
- package/dist/types/csv/csv.base.d.ts +61 -0
- package/dist/types/csv/csv.browser.d.ts +33 -0
- package/dist/types/csv/csv.d.ts +97 -71
- package/dist/types/doc/anchor.d.ts +1 -1
- package/dist/types/doc/cell.d.ts +7 -7
- package/dist/types/doc/column.d.ts +3 -3
- package/dist/types/doc/defined-names.d.ts +4 -4
- package/dist/types/doc/image.d.ts +2 -2
- package/dist/types/doc/modelcontainer.d.ts +1 -1
- package/dist/types/doc/pivot-table.d.ts +1 -1
- package/dist/types/doc/range.d.ts +1 -1
- package/dist/types/doc/row.d.ts +3 -3
- package/dist/types/doc/table.d.ts +2 -2
- package/dist/types/doc/workbook.base.d.ts +111 -0
- package/dist/types/doc/workbook.browser.d.ts +38 -0
- package/dist/types/doc/workbook.d.ts +62 -92
- package/dist/types/doc/worksheet.d.ts +10 -10
- package/dist/types/index.browser.d.ts +19 -5
- package/dist/types/index.d.ts +24 -23
- package/dist/types/local.d.ts +0 -1
- package/dist/types/stream/xlsx/hyperlink-reader.d.ts +1 -1
- package/dist/types/stream/xlsx/workbook-reader.d.ts +4 -4
- package/dist/types/stream/xlsx/workbook-writer.d.ts +6 -6
- package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
- package/dist/types/stream/xlsx/worksheet-writer.d.ts +9 -9
- package/dist/types/utils/browser-buffer.d.ts +28 -0
- package/dist/types/utils/col-cache.d.ts +1 -1
- package/dist/types/utils/encryptor.browser.d.ts +28 -0
- package/dist/types/utils/sheet-utils.d.ts +3 -3
- package/dist/types/utils/stream-buf.browser.d.ts +41 -0
- package/dist/types/utils/unzip/extract.d.ts +6 -6
- package/dist/types/utils/unzip/index.d.ts +8 -8
- package/dist/types/utils/unzip/parse.d.ts +3 -3
- package/dist/types/utils/utils.base.d.ts +29 -0
- package/dist/types/utils/utils.browser.d.ts +29 -0
- package/dist/types/utils/utils.d.ts +6 -25
- package/dist/types/utils/zip/compress.base.d.ts +42 -0
- package/dist/types/utils/zip/compress.browser.d.ts +54 -0
- package/dist/types/utils/zip/compress.d.ts +13 -45
- package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
- package/dist/types/utils/zip/index.d.ts +5 -5
- package/dist/types/utils/zip/zip-builder.d.ts +1 -1
- package/dist/types/utils/zip-stream.browser.d.ts +39 -0
- package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
- package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
- package/dist/types/xlsx/xlsx.base.d.ts +134 -0
- package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
- package/dist/types/xlsx/xlsx.d.ts +20 -80
- package/package.json +13 -15
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Worksheet = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
4
|
+
const col_cache_1 = require("../utils/col-cache");
|
|
5
|
+
const range_1 = require("./range");
|
|
6
|
+
const row_1 = require("./row");
|
|
7
|
+
const column_1 = require("./column");
|
|
8
|
+
const enums_1 = require("./enums");
|
|
9
|
+
const image_1 = require("./image");
|
|
10
|
+
const table_1 = require("./table");
|
|
11
|
+
const data_validations_1 = require("./data-validations");
|
|
12
|
+
const encryptor_1 = require("../utils/encryptor");
|
|
13
|
+
const pivot_table_1 = require("./pivot-table");
|
|
14
|
+
const copy_style_1 = require("../utils/copy-style");
|
|
15
15
|
// Worksheet requirements
|
|
16
16
|
// Operate as sheet inside workbook or standalone
|
|
17
17
|
// Load and Save from file and stream
|
|
@@ -82,7 +82,7 @@ class Worksheet {
|
|
|
82
82
|
firstHeader: null,
|
|
83
83
|
firstFooter: null
|
|
84
84
|
}, options.headerFooter);
|
|
85
|
-
this.dataValidations = new
|
|
85
|
+
this.dataValidations = new data_validations_1.DataValidations();
|
|
86
86
|
// for freezepanes, split, zoom, gridlines, etc
|
|
87
87
|
this.views = options.views || [];
|
|
88
88
|
this.autoFilter = options.autoFilter || null;
|
|
@@ -149,7 +149,7 @@ class Worksheet {
|
|
|
149
149
|
* Get the bounding range of the cells in this worksheet
|
|
150
150
|
*/
|
|
151
151
|
get dimensions() {
|
|
152
|
-
const dimensions = new
|
|
152
|
+
const dimensions = new range_1.Range();
|
|
153
153
|
this._rows.forEach(row => {
|
|
154
154
|
if (row) {
|
|
155
155
|
const rowDims = row.dimensions;
|
|
@@ -184,7 +184,7 @@ class Worksheet {
|
|
|
184
184
|
let count = 1;
|
|
185
185
|
const columns = (this._columns = []);
|
|
186
186
|
value.forEach(defn => {
|
|
187
|
-
const column = new
|
|
187
|
+
const column = new column_1.Column(this, count++, false);
|
|
188
188
|
columns.push(column);
|
|
189
189
|
column.defn = defn;
|
|
190
190
|
});
|
|
@@ -213,7 +213,7 @@ class Worksheet {
|
|
|
213
213
|
return col;
|
|
214
214
|
}
|
|
215
215
|
// otherwise, assume letter
|
|
216
|
-
colNum =
|
|
216
|
+
colNum = col_cache_1.colCache.l2n(c);
|
|
217
217
|
}
|
|
218
218
|
else {
|
|
219
219
|
colNum = c;
|
|
@@ -224,7 +224,7 @@ class Worksheet {
|
|
|
224
224
|
if (colNum > this._columns.length) {
|
|
225
225
|
let n = this._columns.length + 1;
|
|
226
226
|
while (n <= colNum) {
|
|
227
|
-
this._columns.push(new
|
|
227
|
+
this._columns.push(new column_1.Column(this, n++));
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
230
|
return this._columns[colNum - 1];
|
|
@@ -376,7 +376,7 @@ class Worksheet {
|
|
|
376
376
|
getRow(r) {
|
|
377
377
|
let row = this._rows[r - 1];
|
|
378
378
|
if (!row) {
|
|
379
|
-
row = this._rows[r - 1] = new
|
|
379
|
+
row = this._rows[r - 1] = new row_1.Row(this, r);
|
|
380
380
|
}
|
|
381
381
|
return row;
|
|
382
382
|
}
|
|
@@ -437,9 +437,9 @@ class Worksheet {
|
|
|
437
437
|
_copyStyle(src, dest, styleEmpty = false) {
|
|
438
438
|
const rSrc = this.getRow(src);
|
|
439
439
|
const rDst = this.getRow(dest);
|
|
440
|
-
rDst.style = (0,
|
|
440
|
+
rDst.style = (0, copy_style_1.copyStyle)(rSrc.style);
|
|
441
441
|
rSrc.eachCell({ includeEmpty: styleEmpty }, (cell, colNumber) => {
|
|
442
|
-
rDst.getCell(colNumber).style = (0,
|
|
442
|
+
rDst.getCell(colNumber).style = (0, copy_style_1.copyStyle)(cell.style);
|
|
443
443
|
});
|
|
444
444
|
rDst.height = rSrc.height;
|
|
445
445
|
}
|
|
@@ -510,7 +510,7 @@ class Worksheet {
|
|
|
510
510
|
rSrc.eachCell({ includeEmpty: true }, (cell, colNumber) => {
|
|
511
511
|
rDst.getCell(colNumber).style = cell.style;
|
|
512
512
|
// remerge cells accounting for insert offset
|
|
513
|
-
if (cell.type ===
|
|
513
|
+
if (cell.type === enums_1.Enums.ValueType.Merge) {
|
|
514
514
|
const cellToBeMerged = this.getRow(cell.row + nInserts).getCell(colNumber);
|
|
515
515
|
const prevMaster = cell.master;
|
|
516
516
|
const newMaster = this.getRow(prevMaster.row + nInserts).getCell(prevMaster.col);
|
|
@@ -574,7 +574,7 @@ class Worksheet {
|
|
|
574
574
|
* Returns the cell at [r,c] or address given by r. If not found, return undefined
|
|
575
575
|
*/
|
|
576
576
|
findCell(r, c) {
|
|
577
|
-
const address =
|
|
577
|
+
const address = col_cache_1.colCache.getAddress(r, c);
|
|
578
578
|
const row = this._rows[address.row - 1];
|
|
579
579
|
return row ? row.findCell(address.col) : undefined;
|
|
580
580
|
}
|
|
@@ -582,7 +582,7 @@ class Worksheet {
|
|
|
582
582
|
* Get or create cell at [r,c] or address given by r
|
|
583
583
|
*/
|
|
584
584
|
getCell(r, c) {
|
|
585
|
-
const address =
|
|
585
|
+
const address = col_cache_1.colCache.getAddress(r, c);
|
|
586
586
|
const row = this.getRow(address.row);
|
|
587
587
|
return row.getCellEx(address);
|
|
588
588
|
}
|
|
@@ -598,11 +598,11 @@ class Worksheet {
|
|
|
598
598
|
* t, l, b, r numbers, e.g. `10,11,12,13`
|
|
599
599
|
*/
|
|
600
600
|
mergeCells(...cells) {
|
|
601
|
-
const dimensions = new
|
|
601
|
+
const dimensions = new range_1.Range(cells);
|
|
602
602
|
this._mergeCellsInternal(dimensions);
|
|
603
603
|
}
|
|
604
604
|
mergeCellsWithoutStyle(...cells) {
|
|
605
|
-
const dimensions = new
|
|
605
|
+
const dimensions = new range_1.Range(cells);
|
|
606
606
|
this._mergeCellsInternal(dimensions, true);
|
|
607
607
|
}
|
|
608
608
|
_mergeCellsInternal(dimensions, ignoreStyle) {
|
|
@@ -647,13 +647,13 @@ class Worksheet {
|
|
|
647
647
|
* atomic - either they're all merged or all un-merged.
|
|
648
648
|
*/
|
|
649
649
|
unMergeCells(...cells) {
|
|
650
|
-
const dimensions = new
|
|
650
|
+
const dimensions = new range_1.Range(cells);
|
|
651
651
|
// find any cells in that range and unmerge them
|
|
652
652
|
for (let i = dimensions.top; i <= dimensions.bottom; i++) {
|
|
653
653
|
for (let j = dimensions.left; j <= dimensions.right; j++) {
|
|
654
654
|
const cell = this.findCell(i, j);
|
|
655
655
|
if (cell) {
|
|
656
|
-
if (cell.type ===
|
|
656
|
+
if (cell.type === enums_1.Enums.ValueType.Merge) {
|
|
657
657
|
// this cell merges to another master
|
|
658
658
|
this._unMergeMaster(cell.master);
|
|
659
659
|
}
|
|
@@ -669,10 +669,10 @@ class Worksheet {
|
|
|
669
669
|
// Shared/Array Formula
|
|
670
670
|
fillFormula(range, formula, results, shareType = "shared") {
|
|
671
671
|
// Define formula for top-left cell and share to rest
|
|
672
|
-
const decoded =
|
|
672
|
+
const decoded = col_cache_1.colCache.decode(range);
|
|
673
673
|
const { top, left, bottom, right } = decoded;
|
|
674
674
|
const width = right - left + 1;
|
|
675
|
-
const masterAddress =
|
|
675
|
+
const masterAddress = col_cache_1.colCache.encodeAddress(top, left);
|
|
676
676
|
const isShared = shareType === "shared";
|
|
677
677
|
// work out result accessor
|
|
678
678
|
let getResult;
|
|
@@ -727,7 +727,7 @@ class Worksheet {
|
|
|
727
727
|
imageId: String(imageId),
|
|
728
728
|
range
|
|
729
729
|
};
|
|
730
|
-
this._media.push(new
|
|
730
|
+
this._media.push(new image_1.Image(this, model));
|
|
731
731
|
}
|
|
732
732
|
getImages() {
|
|
733
733
|
return this._media.filter(m => m.type === "image");
|
|
@@ -740,7 +740,7 @@ class Worksheet {
|
|
|
740
740
|
type: "background",
|
|
741
741
|
imageId: String(imageId)
|
|
742
742
|
};
|
|
743
|
-
this._media.push(new
|
|
743
|
+
this._media.push(new image_1.Image(this, model));
|
|
744
744
|
}
|
|
745
745
|
getBackgroundImageId() {
|
|
746
746
|
const image = this._media.find(m => m.type === "background");
|
|
@@ -766,10 +766,10 @@ class Worksheet {
|
|
|
766
766
|
}
|
|
767
767
|
if (password) {
|
|
768
768
|
this.sheetProtection.algorithmName = "SHA-512";
|
|
769
|
-
this.sheetProtection.saltValue =
|
|
769
|
+
this.sheetProtection.saltValue = encryptor_1.Encryptor.randomBytes(16).toString("base64");
|
|
770
770
|
this.sheetProtection.spinCount =
|
|
771
771
|
options && "spinCount" in options ? options.spinCount : 100000; // allow user specified spinCount
|
|
772
|
-
this.sheetProtection.hashValue =
|
|
772
|
+
this.sheetProtection.hashValue = encryptor_1.Encryptor.convertPasswordToHash(password, "SHA512", this.sheetProtection.saltValue, this.sheetProtection.spinCount);
|
|
773
773
|
}
|
|
774
774
|
if (options) {
|
|
775
775
|
this.sheetProtection = Object.assign(this.sheetProtection, options);
|
|
@@ -789,7 +789,7 @@ class Worksheet {
|
|
|
789
789
|
* Add a new table and return a reference to it
|
|
790
790
|
*/
|
|
791
791
|
addTable(model) {
|
|
792
|
-
const table = new
|
|
792
|
+
const table = new table_1.Table(this, model);
|
|
793
793
|
this.tables[model.name] = table;
|
|
794
794
|
return table;
|
|
795
795
|
}
|
|
@@ -814,7 +814,7 @@ class Worksheet {
|
|
|
814
814
|
// =========================================================================
|
|
815
815
|
// Pivot Tables
|
|
816
816
|
addPivotTable(model) {
|
|
817
|
-
const pivotTable = (0,
|
|
817
|
+
const pivotTable = (0, pivot_table_1.makePivotTable)(this, model);
|
|
818
818
|
this.pivotTables.push(pivotTable);
|
|
819
819
|
this.workbook.pivotTables.push(pivotTable);
|
|
820
820
|
return pivotTable;
|
|
@@ -863,11 +863,11 @@ class Worksheet {
|
|
|
863
863
|
};
|
|
864
864
|
// =================================================
|
|
865
865
|
// columns
|
|
866
|
-
model.cols =
|
|
866
|
+
model.cols = column_1.Column.toModel(this.columns || []);
|
|
867
867
|
// ==========================================================
|
|
868
868
|
// Rows
|
|
869
869
|
const rows = (model.rows = []);
|
|
870
|
-
const dimensions = (model.dimensions = new
|
|
870
|
+
const dimensions = (model.dimensions = new range_1.Range());
|
|
871
871
|
this._rows.forEach(row => {
|
|
872
872
|
const rowModel = row && row.model;
|
|
873
873
|
if (rowModel) {
|
|
@@ -887,7 +887,7 @@ class Worksheet {
|
|
|
887
887
|
this._rows = [];
|
|
888
888
|
if (model.rows) {
|
|
889
889
|
model.rows.forEach(rowModel => {
|
|
890
|
-
const row = new
|
|
890
|
+
const row = new row_1.Row(this, rowModel.number);
|
|
891
891
|
this._rows[row.number - 1] = row;
|
|
892
892
|
row.model = rowModel;
|
|
893
893
|
});
|
|
@@ -904,19 +904,19 @@ class Worksheet {
|
|
|
904
904
|
}
|
|
905
905
|
set model(value) {
|
|
906
906
|
this.name = value.name;
|
|
907
|
-
this._columns =
|
|
907
|
+
this._columns = column_1.Column.fromModel(this, value.cols);
|
|
908
908
|
this._parseRows(value);
|
|
909
909
|
this._parseMergeCells(value);
|
|
910
|
-
this.dataValidations = new
|
|
910
|
+
this.dataValidations = new data_validations_1.DataValidations(value.dataValidations);
|
|
911
911
|
this.properties = value.properties;
|
|
912
912
|
this.pageSetup = value.pageSetup;
|
|
913
913
|
this.headerFooter = value.headerFooter;
|
|
914
914
|
this.views = value.views;
|
|
915
915
|
this.autoFilter = value.autoFilter;
|
|
916
|
-
this._media = value.media.map(medium => new
|
|
916
|
+
this._media = value.media.map(medium => new image_1.Image(this, medium));
|
|
917
917
|
this.sheetProtection = value.sheetProtection;
|
|
918
918
|
this.tables = value.tables.reduce((tables, table) => {
|
|
919
|
-
const t = new
|
|
919
|
+
const t = new table_1.Table(this, table);
|
|
920
920
|
t.model = table;
|
|
921
921
|
tables[table.name] = t;
|
|
922
922
|
return tables;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// Main Classes
|
|
4
|
+
// =============================================================================
|
|
2
5
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
6
|
if (k2 === undefined) k2 = k;
|
|
4
7
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -14,39 +17,53 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
18
|
};
|
|
16
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Object.defineProperty(exports, "WorksheetWriter", { enumerable: true, get: function () { return worksheet_writer_js_1.WorksheetWriter; } });
|
|
33
|
-
var row_js_1 = require("./doc/row");
|
|
34
|
-
Object.defineProperty(exports, "Row", { enumerable: true, get: function () { return row_js_1.Row; } });
|
|
35
|
-
var column_js_1 = require("./doc/column");
|
|
36
|
-
Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_js_1.Column; } });
|
|
37
|
-
var cell_js_1 = require("./doc/cell");
|
|
38
|
-
Object.defineProperty(exports, "Cell", { enumerable: true, get: function () { return cell_js_1.Cell; } });
|
|
39
|
-
var range_js_1 = require("./doc/range");
|
|
40
|
-
Object.defineProperty(exports, "Range", { enumerable: true, get: function () { return range_js_1.Range; } });
|
|
41
|
-
var image_js_1 = require("./doc/image");
|
|
42
|
-
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return image_js_1.Image; } });
|
|
20
|
+
exports.CsvFormatterStream = exports.CsvParserStream = exports.ModelContainer = exports.WorksheetReader = exports.WorksheetWriter = exports.WorkbookReader = exports.WorkbookWriter = exports.DataValidations = exports.Table = exports.Image = exports.Range = exports.Cell = exports.Column = exports.Row = exports.Worksheet = exports.Workbook = void 0;
|
|
21
|
+
var workbook_1 = require("./doc/workbook");
|
|
22
|
+
Object.defineProperty(exports, "Workbook", { enumerable: true, get: function () { return workbook_1.Workbook; } });
|
|
23
|
+
var worksheet_1 = require("./doc/worksheet");
|
|
24
|
+
Object.defineProperty(exports, "Worksheet", { enumerable: true, get: function () { return worksheet_1.Worksheet; } });
|
|
25
|
+
var row_1 = require("./doc/row");
|
|
26
|
+
Object.defineProperty(exports, "Row", { enumerable: true, get: function () { return row_1.Row; } });
|
|
27
|
+
var column_1 = require("./doc/column");
|
|
28
|
+
Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_1.Column; } });
|
|
29
|
+
var cell_1 = require("./doc/cell");
|
|
30
|
+
Object.defineProperty(exports, "Cell", { enumerable: true, get: function () { return cell_1.Cell; } });
|
|
31
|
+
var range_1 = require("./doc/range");
|
|
32
|
+
Object.defineProperty(exports, "Range", { enumerable: true, get: function () { return range_1.Range; } });
|
|
33
|
+
var image_1 = require("./doc/image");
|
|
34
|
+
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return image_1.Image; } });
|
|
43
35
|
__exportStar(require("./doc/anchor"), exports);
|
|
44
|
-
var
|
|
45
|
-
Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return
|
|
46
|
-
var
|
|
47
|
-
Object.defineProperty(exports, "DataValidations", { enumerable: true, get: function () { return
|
|
48
|
-
//
|
|
36
|
+
var table_1 = require("./doc/table");
|
|
37
|
+
Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return table_1.Table; } });
|
|
38
|
+
var data_validations_1 = require("./doc/data-validations");
|
|
39
|
+
Object.defineProperty(exports, "DataValidations", { enumerable: true, get: function () { return data_validations_1.DataValidations; } });
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// Node.js Only: Streaming Classes
|
|
42
|
+
// These can also be accessed via Workbook.createStreamWriter/createStreamReader
|
|
43
|
+
// =============================================================================
|
|
44
|
+
var workbook_writer_1 = require("./stream/xlsx/workbook-writer");
|
|
45
|
+
Object.defineProperty(exports, "WorkbookWriter", { enumerable: true, get: function () { return workbook_writer_1.WorkbookWriter; } });
|
|
46
|
+
var workbook_reader_1 = require("./stream/xlsx/workbook-reader");
|
|
47
|
+
Object.defineProperty(exports, "WorkbookReader", { enumerable: true, get: function () { return workbook_reader_1.WorkbookReader; } });
|
|
48
|
+
var worksheet_writer_1 = require("./stream/xlsx/worksheet-writer");
|
|
49
|
+
Object.defineProperty(exports, "WorksheetWriter", { enumerable: true, get: function () { return worksheet_writer_1.WorksheetWriter; } });
|
|
50
|
+
var worksheet_reader_1 = require("./stream/xlsx/worksheet-reader");
|
|
51
|
+
Object.defineProperty(exports, "WorksheetReader", { enumerable: true, get: function () { return worksheet_reader_1.WorksheetReader; } });
|
|
52
|
+
var modelcontainer_1 = require("./doc/modelcontainer");
|
|
53
|
+
Object.defineProperty(exports, "ModelContainer", { enumerable: true, get: function () { return modelcontainer_1.ModelContainer; } });
|
|
54
|
+
// =============================================================================
|
|
55
|
+
// Enums
|
|
56
|
+
// =============================================================================
|
|
49
57
|
__exportStar(require("./doc/enums"), exports);
|
|
50
|
-
//
|
|
58
|
+
// =============================================================================
|
|
59
|
+
// Types
|
|
60
|
+
// =============================================================================
|
|
61
|
+
// Export all type definitions from types.ts
|
|
51
62
|
__exportStar(require("./types"), exports);
|
|
63
|
+
var csv_1 = require("./csv/csv");
|
|
64
|
+
Object.defineProperty(exports, "CsvParserStream", { enumerable: true, get: function () { return csv_1.CsvParserStream; } });
|
|
65
|
+
Object.defineProperty(exports, "CsvFormatterStream", { enumerable: true, get: function () { return csv_1.CsvFormatterStream; } });
|
|
66
|
+
// =============================================================================
|
|
67
|
+
// Utilities
|
|
68
|
+
// =============================================================================
|
|
52
69
|
__exportStar(require("./utils/sheet-utils"), exports);
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HyperlinkReader = void 0;
|
|
4
4
|
const events_1 = require("events");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
5
|
+
const parse_sax_1 = require("../../utils/parse-sax");
|
|
6
|
+
const enums_1 = require("../../doc/enums");
|
|
7
|
+
const rel_type_1 = require("../../xlsx/rel-type");
|
|
8
8
|
class HyperlinkReader extends events_1.EventEmitter {
|
|
9
9
|
constructor({ workbook, id, iterator, options }) {
|
|
10
10
|
super();
|
|
@@ -42,17 +42,17 @@ class HyperlinkReader extends events_1.EventEmitter {
|
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
try {
|
|
45
|
-
for await (const events of (0,
|
|
45
|
+
for await (const events of (0, parse_sax_1.parseSax)(iterator)) {
|
|
46
46
|
for (const { eventType, value } of events) {
|
|
47
47
|
if (eventType === "opentag") {
|
|
48
48
|
const node = value;
|
|
49
49
|
if (node.name === "Relationship") {
|
|
50
50
|
const rId = node.attributes.Id;
|
|
51
51
|
switch (node.attributes.Type) {
|
|
52
|
-
case
|
|
52
|
+
case rel_type_1.RelType.Hyperlink:
|
|
53
53
|
{
|
|
54
54
|
const relationship = {
|
|
55
|
-
type:
|
|
55
|
+
type: enums_1.Enums.RelationshipType.Hyperlink,
|
|
56
56
|
rId,
|
|
57
57
|
target: node.attributes.Target,
|
|
58
58
|
targetMode: node.attributes.TargetMode
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SheetCommentsWriter = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const xml_stream_1 = require("../../utils/xml-stream");
|
|
5
|
+
const rel_type_1 = require("../../xlsx/rel-type");
|
|
6
|
+
const col_cache_1 = require("../../utils/col-cache");
|
|
7
|
+
const comment_xform_1 = require("../../xlsx/xform/comment/comment-xform");
|
|
8
|
+
const vml_shape_xform_1 = require("../../xlsx/xform/comment/vml-shape-xform");
|
|
9
9
|
class SheetCommentsWriter {
|
|
10
10
|
constructor(worksheet, sheetRelsWriter, options) {
|
|
11
11
|
// in a workbook, each sheet will have a number
|
|
@@ -29,12 +29,12 @@ class SheetCommentsWriter {
|
|
|
29
29
|
}
|
|
30
30
|
_addRelationships() {
|
|
31
31
|
const commentRel = {
|
|
32
|
-
Type:
|
|
32
|
+
Type: rel_type_1.RelType.Comments,
|
|
33
33
|
Target: `../comments${this.id}.xml`
|
|
34
34
|
};
|
|
35
35
|
this._sheetRelsWriter.addRelationship(commentRel);
|
|
36
36
|
const vmlDrawingRel = {
|
|
37
|
-
Type:
|
|
37
|
+
Type: rel_type_1.RelType.VmlDrawing,
|
|
38
38
|
Target: `../drawings/vmlDrawing${this.id}.vml`
|
|
39
39
|
};
|
|
40
40
|
this.vmlRelId = this._sheetRelsWriter.addRelationship(vmlDrawingRel);
|
|
@@ -61,12 +61,12 @@ class SheetCommentsWriter {
|
|
|
61
61
|
"</v:shapetype>");
|
|
62
62
|
}
|
|
63
63
|
_writeComment(comment, index) {
|
|
64
|
-
const commentXform = new
|
|
65
|
-
const commentsXmlStream = new
|
|
64
|
+
const commentXform = new comment_xform_1.CommentXform();
|
|
65
|
+
const commentsXmlStream = new xml_stream_1.XmlStream();
|
|
66
66
|
commentXform.render(commentsXmlStream, comment);
|
|
67
67
|
this.commentsStream.write(commentsXmlStream.xml);
|
|
68
|
-
const vmlShapeXform = new
|
|
69
|
-
const vmlXmlStream = new
|
|
68
|
+
const vmlShapeXform = new vml_shape_xform_1.VmlShapeXform();
|
|
69
|
+
const vmlXmlStream = new xml_stream_1.XmlStream();
|
|
70
70
|
vmlShapeXform.render(vmlXmlStream, comment, index);
|
|
71
71
|
this.vmlStream.write(vmlXmlStream.xml);
|
|
72
72
|
}
|
|
@@ -84,7 +84,7 @@ class SheetCommentsWriter {
|
|
|
84
84
|
this.startedData = true;
|
|
85
85
|
}
|
|
86
86
|
comments.forEach(item => {
|
|
87
|
-
item.refAddress =
|
|
87
|
+
item.refAddress = col_cache_1.colCache.decodeAddress(item.ref);
|
|
88
88
|
});
|
|
89
89
|
comments.forEach(comment => {
|
|
90
90
|
this._writeComment(comment, this.count);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SheetRelsWriter = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const utils_1 = require("../../utils/utils");
|
|
5
|
+
const rel_type_1 = require("../../xlsx/rel-type");
|
|
6
6
|
class HyperlinksProxy {
|
|
7
7
|
constructor(sheetRelsWriter) {
|
|
8
8
|
this.writer = sheetRelsWriter;
|
|
@@ -40,7 +40,7 @@ class SheetRelsWriter {
|
|
|
40
40
|
// Write to stream
|
|
41
41
|
const relationship = {
|
|
42
42
|
Target: hyperlink.target,
|
|
43
|
-
Type:
|
|
43
|
+
Type: rel_type_1.RelType.Hyperlink,
|
|
44
44
|
TargetMode: "External"
|
|
45
45
|
};
|
|
46
46
|
const rId = this._writeRelationship(relationship);
|
|
@@ -77,7 +77,7 @@ class SheetRelsWriter {
|
|
|
77
77
|
if (relationship.TargetMode) {
|
|
78
78
|
this.stream.write(`<Relationship Id="${rId}"` +
|
|
79
79
|
` Type="${relationship.Type}"` +
|
|
80
|
-
` Target="${(0,
|
|
80
|
+
` Target="${(0, utils_1.xmlEncode)(relationship.Target)}"` +
|
|
81
81
|
` TargetMode="${relationship.TargetMode}"` +
|
|
82
82
|
"/>");
|
|
83
83
|
}
|
|
@@ -9,14 +9,14 @@ const events_1 = require("events");
|
|
|
9
9
|
const stream_1 = require("stream");
|
|
10
10
|
const os_1 = __importDefault(require("os"));
|
|
11
11
|
const path_1 = require("path");
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
12
|
+
const iterate_stream_1 = require("../../utils/iterate-stream");
|
|
13
|
+
const parse_sax_1 = require("../../utils/parse-sax");
|
|
14
|
+
const styles_xform_1 = require("../../xlsx/xform/style/styles-xform");
|
|
15
|
+
const workbook_xform_1 = require("../../xlsx/xform/book/workbook-xform");
|
|
16
|
+
const relationships_xform_1 = require("../../xlsx/xform/core/relationships-xform");
|
|
17
|
+
const worksheet_reader_1 = require("./worksheet-reader");
|
|
18
|
+
const hyperlink_reader_1 = require("./hyperlink-reader");
|
|
19
|
+
const parse_1 = require("../../utils/unzip/parse");
|
|
20
20
|
class WorkbookReader extends events_1.EventEmitter {
|
|
21
21
|
constructor(input, options = {}) {
|
|
22
22
|
super();
|
|
@@ -29,7 +29,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
29
29
|
entries: "ignore",
|
|
30
30
|
...options
|
|
31
31
|
};
|
|
32
|
-
this.styles = new
|
|
32
|
+
this.styles = new styles_xform_1.StylesXform();
|
|
33
33
|
this.styles.init();
|
|
34
34
|
}
|
|
35
35
|
_getStream(input) {
|
|
@@ -79,7 +79,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
79
79
|
this.options = options;
|
|
80
80
|
}
|
|
81
81
|
const stream = (this.stream = this._getStream(input || this.input));
|
|
82
|
-
const zip = (0,
|
|
82
|
+
const zip = (0, parse_1.createParse)({ forceStream: true });
|
|
83
83
|
// Handle pipe errors to prevent unhandled rejection
|
|
84
84
|
stream.on("error", (err) => {
|
|
85
85
|
zip.emit("error", err);
|
|
@@ -88,7 +88,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
88
88
|
// worksheets, deferred for parsing after shared strings reading
|
|
89
89
|
const waitingWorkSheets = [];
|
|
90
90
|
try {
|
|
91
|
-
for await (const entry of (0,
|
|
91
|
+
for await (const entry of (0, iterate_stream_1.iterateStream)(zip)) {
|
|
92
92
|
let match;
|
|
93
93
|
let sheetNo;
|
|
94
94
|
// Normalize path: remove leading slash if present
|
|
@@ -115,7 +115,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
115
115
|
match = normalizedPath.match(/xl\/worksheets\/sheet(\d+)[.]xml/);
|
|
116
116
|
sheetNo = match[1];
|
|
117
117
|
if (this.sharedStrings && this.workbookRels) {
|
|
118
|
-
yield* this._parseWorksheet((0,
|
|
118
|
+
yield* this._parseWorksheet((0, iterate_stream_1.iterateStream)(entry), sheetNo);
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
121
121
|
// Worksheet arrives before sharedStrings - write to temp file asynchronously
|
|
@@ -137,7 +137,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
137
137
|
else if (normalizedPath.match(/xl\/worksheets\/_rels\/sheet\d+[.]xml.rels/)) {
|
|
138
138
|
match = normalizedPath.match(/xl\/worksheets\/_rels\/sheet(\d+)[.]xml.rels/);
|
|
139
139
|
sheetNo = match[1];
|
|
140
|
-
yield* this._parseHyperlinks((0,
|
|
140
|
+
yield* this._parseHyperlinks((0, iterate_stream_1.iterateStream)(entry), sheetNo);
|
|
141
141
|
}
|
|
142
142
|
break;
|
|
143
143
|
}
|
|
@@ -177,13 +177,13 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
async _parseRels(entry) {
|
|
180
|
-
const xform = new
|
|
181
|
-
this.workbookRels = await xform.parseStream((0,
|
|
180
|
+
const xform = new relationships_xform_1.RelationshipsXform();
|
|
181
|
+
this.workbookRels = await xform.parseStream((0, iterate_stream_1.iterateStream)(entry));
|
|
182
182
|
}
|
|
183
183
|
async _parseWorkbook(entry) {
|
|
184
184
|
this._emitEntry({ type: "workbook" });
|
|
185
|
-
const workbook = new
|
|
186
|
-
this.model = await workbook.parseStream((0,
|
|
185
|
+
const workbook = new workbook_xform_1.WorkbookXform();
|
|
186
|
+
this.model = await workbook.parseStream((0, iterate_stream_1.iterateStream)(entry));
|
|
187
187
|
this.properties = workbook.map.workbookPr;
|
|
188
188
|
}
|
|
189
189
|
async *_parseSharedStrings(entry) {
|
|
@@ -202,7 +202,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
202
202
|
let index = 0;
|
|
203
203
|
let font = null;
|
|
204
204
|
let inRichText = false;
|
|
205
|
-
for await (const events of (0,
|
|
205
|
+
for await (const events of (0, parse_sax_1.parseSax)((0, iterate_stream_1.iterateStream)(entry))) {
|
|
206
206
|
for (const { eventType, value } of events) {
|
|
207
207
|
if (eventType === "opentag") {
|
|
208
208
|
const node = value;
|
|
@@ -310,13 +310,13 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
310
310
|
async _parseStyles(entry) {
|
|
311
311
|
this._emitEntry({ type: "styles" });
|
|
312
312
|
if (this.options.styles === "cache") {
|
|
313
|
-
this.styles = new
|
|
314
|
-
await this.styles.parseStream((0,
|
|
313
|
+
this.styles = new styles_xform_1.StylesXform();
|
|
314
|
+
await this.styles.parseStream((0, iterate_stream_1.iterateStream)(entry));
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
*_parseWorksheet(iterator, sheetNo) {
|
|
318
318
|
this._emitEntry({ type: "worksheet", id: sheetNo });
|
|
319
|
-
const worksheetReader = new
|
|
319
|
+
const worksheetReader = new worksheet_reader_1.WorksheetReader({
|
|
320
320
|
workbook: this,
|
|
321
321
|
id: parseInt(sheetNo, 10),
|
|
322
322
|
iterator: iterator,
|
|
@@ -337,7 +337,7 @@ class WorkbookReader extends events_1.EventEmitter {
|
|
|
337
337
|
}
|
|
338
338
|
*_parseHyperlinks(iterator, sheetNo) {
|
|
339
339
|
this._emitEntry({ type: "hyperlinks", id: sheetNo });
|
|
340
|
-
const hyperlinksReader = new
|
|
340
|
+
const hyperlinksReader = new hyperlink_reader_1.HyperlinkReader({
|
|
341
341
|
workbook: this,
|
|
342
342
|
id: parseInt(sheetNo, 10),
|
|
343
343
|
iterator: iterator,
|