@cj-tech-master/excelts 1.6.3 → 2.0.0
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 +139 -24
- package/README_zh.md +140 -26
- package/dist/browser/excelts.esm.js +18468 -0
- package/dist/browser/excelts.esm.js.map +1 -0
- package/dist/browser/excelts.esm.min.js +125 -0
- package/dist/browser/excelts.iife.js +13107 -47146
- package/dist/browser/excelts.iife.js.map +1 -1
- package/dist/browser/excelts.iife.min.js +24 -106
- 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 +137 -0
- package/dist/cjs/csv/csv.browser.js +68 -0
- package/dist/cjs/csv/csv.js +218 -162
- package/dist/cjs/doc/anchor.js +2 -2
- package/dist/cjs/doc/cell.js +22 -22
- package/dist/cjs/doc/column.js +28 -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 +45 -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 +38 -38
- package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
- package/dist/cjs/stream/xlsx/worksheet-writer.js +67 -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/datetime.js +648 -0
- package/dist/cjs/utils/encryptor.browser.js +240 -0
- package/dist/cjs/utils/parse-sax.js +1191 -13
- 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 +14 -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 +88 -0
- package/dist/cjs/utils/zip/compress.browser.js +127 -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/deflate-fallback.js +575 -0
- package/dist/cjs/utils/zip/index.js +17 -17
- package/dist/cjs/utils/zip/streaming-zip.js +264 -0
- 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-breaks-xform.js +38 -0
- 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 +15 -3
- 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 +15 -17
- 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 +75 -70
- 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 +162 -0
- package/dist/cjs/xlsx/xlsx.js +118 -892
- 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 +127 -0
- package/dist/esm/csv/csv.browser.js +65 -0
- package/dist/esm/csv/csv.js +181 -159
- package/dist/esm/doc/column.js +21 -0
- 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/doc/worksheet.js +4 -0
- 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/stream/xlsx/workbook-writer.js +1 -1
- package/dist/esm/stream/xlsx/worksheet-writer.js +8 -1
- package/dist/esm/utils/browser-buffer.js +67 -0
- package/dist/esm/utils/datetime.js +639 -0
- package/dist/esm/utils/encryptor.browser.js +237 -0
- package/dist/esm/utils/parse-sax.js +1188 -12
- package/dist/esm/utils/stream-buf.browser.js +352 -0
- package/dist/esm/utils/unzip/zip-parser.js +11 -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 +83 -0
- package/dist/esm/utils/zip/compress.browser.js +121 -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/deflate-fallback.js +570 -0
- package/dist/esm/utils/zip/streaming-zip.js +259 -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/xform/sheet/col-breaks-xform.js +35 -0
- package/dist/esm/xlsx/xform/sheet/page-breaks-xform.js +13 -1
- package/dist/esm/xlsx/xform/sheet/row-breaks-xform.js +11 -13
- package/dist/esm/xlsx/xform/sheet/worksheet-xform.js +7 -2
- package/dist/esm/xlsx/xlsx.base.js +739 -0
- package/dist/esm/xlsx/xlsx.browser.js +159 -0
- package/dist/esm/xlsx/xlsx.js +114 -888
- 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 +62 -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 +9 -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 +12 -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 +7 -7
- package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
- package/dist/types/stream/xlsx/worksheet-writer.d.ts +11 -9
- package/dist/types/types.d.ts +6 -0
- package/dist/types/utils/browser-buffer.d.ts +28 -0
- package/dist/types/utils/col-cache.d.ts +1 -1
- package/dist/types/utils/datetime.d.ts +85 -0
- package/dist/types/utils/encryptor.browser.d.ts +28 -0
- package/dist/types/utils/parse-sax.d.ts +108 -1
- 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/unzip/zip-parser.d.ts +5 -0
- 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 +45 -0
- package/dist/types/utils/zip/compress.browser.d.ts +63 -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/deflate-fallback.d.ts +39 -0
- package/dist/types/utils/zip/index.d.ts +5 -5
- package/dist/types/utils/zip/streaming-zip.d.ts +96 -0
- 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-breaks-xform.d.ts +16 -0
- 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 +5 -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 +5 -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 +16 -39
|
@@ -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
|
|
@@ -39,6 +39,7 @@ class Worksheet {
|
|
|
39
39
|
this._merges = {};
|
|
40
40
|
// record of all row and column pageBreaks
|
|
41
41
|
this.rowBreaks = [];
|
|
42
|
+
this.colBreaks = [];
|
|
42
43
|
// for tabColor, default row height, outline levels, etc
|
|
43
44
|
this.properties = Object.assign({}, {
|
|
44
45
|
defaultRowHeight: 15,
|
|
@@ -82,7 +83,7 @@ class Worksheet {
|
|
|
82
83
|
firstHeader: null,
|
|
83
84
|
firstFooter: null
|
|
84
85
|
}, options.headerFooter);
|
|
85
|
-
this.dataValidations = new
|
|
86
|
+
this.dataValidations = new data_validations_1.DataValidations();
|
|
86
87
|
// for freezepanes, split, zoom, gridlines, etc
|
|
87
88
|
this.views = options.views || [];
|
|
88
89
|
this.autoFilter = options.autoFilter || null;
|
|
@@ -149,7 +150,7 @@ class Worksheet {
|
|
|
149
150
|
* Get the bounding range of the cells in this worksheet
|
|
150
151
|
*/
|
|
151
152
|
get dimensions() {
|
|
152
|
-
const dimensions = new
|
|
153
|
+
const dimensions = new range_1.Range();
|
|
153
154
|
this._rows.forEach(row => {
|
|
154
155
|
if (row) {
|
|
155
156
|
const rowDims = row.dimensions;
|
|
@@ -184,7 +185,7 @@ class Worksheet {
|
|
|
184
185
|
let count = 1;
|
|
185
186
|
const columns = (this._columns = []);
|
|
186
187
|
value.forEach(defn => {
|
|
187
|
-
const column = new
|
|
188
|
+
const column = new column_1.Column(this, count++, false);
|
|
188
189
|
columns.push(column);
|
|
189
190
|
column.defn = defn;
|
|
190
191
|
});
|
|
@@ -213,7 +214,7 @@ class Worksheet {
|
|
|
213
214
|
return col;
|
|
214
215
|
}
|
|
215
216
|
// otherwise, assume letter
|
|
216
|
-
colNum =
|
|
217
|
+
colNum = col_cache_1.colCache.l2n(c);
|
|
217
218
|
}
|
|
218
219
|
else {
|
|
219
220
|
colNum = c;
|
|
@@ -224,7 +225,7 @@ class Worksheet {
|
|
|
224
225
|
if (colNum > this._columns.length) {
|
|
225
226
|
let n = this._columns.length + 1;
|
|
226
227
|
while (n <= colNum) {
|
|
227
|
-
this._columns.push(new
|
|
228
|
+
this._columns.push(new column_1.Column(this, n++));
|
|
228
229
|
}
|
|
229
230
|
}
|
|
230
231
|
return this._columns[colNum - 1];
|
|
@@ -376,7 +377,7 @@ class Worksheet {
|
|
|
376
377
|
getRow(r) {
|
|
377
378
|
let row = this._rows[r - 1];
|
|
378
379
|
if (!row) {
|
|
379
|
-
row = this._rows[r - 1] = new
|
|
380
|
+
row = this._rows[r - 1] = new row_1.Row(this, r);
|
|
380
381
|
}
|
|
381
382
|
return row;
|
|
382
383
|
}
|
|
@@ -437,9 +438,9 @@ class Worksheet {
|
|
|
437
438
|
_copyStyle(src, dest, styleEmpty = false) {
|
|
438
439
|
const rSrc = this.getRow(src);
|
|
439
440
|
const rDst = this.getRow(dest);
|
|
440
|
-
rDst.style = (0,
|
|
441
|
+
rDst.style = (0, copy_style_1.copyStyle)(rSrc.style);
|
|
441
442
|
rSrc.eachCell({ includeEmpty: styleEmpty }, (cell, colNumber) => {
|
|
442
|
-
rDst.getCell(colNumber).style = (0,
|
|
443
|
+
rDst.getCell(colNumber).style = (0, copy_style_1.copyStyle)(cell.style);
|
|
443
444
|
});
|
|
444
445
|
rDst.height = rSrc.height;
|
|
445
446
|
}
|
|
@@ -510,7 +511,7 @@ class Worksheet {
|
|
|
510
511
|
rSrc.eachCell({ includeEmpty: true }, (cell, colNumber) => {
|
|
511
512
|
rDst.getCell(colNumber).style = cell.style;
|
|
512
513
|
// remerge cells accounting for insert offset
|
|
513
|
-
if (cell.type ===
|
|
514
|
+
if (cell.type === enums_1.Enums.ValueType.Merge) {
|
|
514
515
|
const cellToBeMerged = this.getRow(cell.row + nInserts).getCell(colNumber);
|
|
515
516
|
const prevMaster = cell.master;
|
|
516
517
|
const newMaster = this.getRow(prevMaster.row + nInserts).getCell(prevMaster.col);
|
|
@@ -574,7 +575,7 @@ class Worksheet {
|
|
|
574
575
|
* Returns the cell at [r,c] or address given by r. If not found, return undefined
|
|
575
576
|
*/
|
|
576
577
|
findCell(r, c) {
|
|
577
|
-
const address =
|
|
578
|
+
const address = col_cache_1.colCache.getAddress(r, c);
|
|
578
579
|
const row = this._rows[address.row - 1];
|
|
579
580
|
return row ? row.findCell(address.col) : undefined;
|
|
580
581
|
}
|
|
@@ -582,7 +583,7 @@ class Worksheet {
|
|
|
582
583
|
* Get or create cell at [r,c] or address given by r
|
|
583
584
|
*/
|
|
584
585
|
getCell(r, c) {
|
|
585
|
-
const address =
|
|
586
|
+
const address = col_cache_1.colCache.getAddress(r, c);
|
|
586
587
|
const row = this.getRow(address.row);
|
|
587
588
|
return row.getCellEx(address);
|
|
588
589
|
}
|
|
@@ -598,11 +599,11 @@ class Worksheet {
|
|
|
598
599
|
* t, l, b, r numbers, e.g. `10,11,12,13`
|
|
599
600
|
*/
|
|
600
601
|
mergeCells(...cells) {
|
|
601
|
-
const dimensions = new
|
|
602
|
+
const dimensions = new range_1.Range(cells);
|
|
602
603
|
this._mergeCellsInternal(dimensions);
|
|
603
604
|
}
|
|
604
605
|
mergeCellsWithoutStyle(...cells) {
|
|
605
|
-
const dimensions = new
|
|
606
|
+
const dimensions = new range_1.Range(cells);
|
|
606
607
|
this._mergeCellsInternal(dimensions, true);
|
|
607
608
|
}
|
|
608
609
|
_mergeCellsInternal(dimensions, ignoreStyle) {
|
|
@@ -647,13 +648,13 @@ class Worksheet {
|
|
|
647
648
|
* atomic - either they're all merged or all un-merged.
|
|
648
649
|
*/
|
|
649
650
|
unMergeCells(...cells) {
|
|
650
|
-
const dimensions = new
|
|
651
|
+
const dimensions = new range_1.Range(cells);
|
|
651
652
|
// find any cells in that range and unmerge them
|
|
652
653
|
for (let i = dimensions.top; i <= dimensions.bottom; i++) {
|
|
653
654
|
for (let j = dimensions.left; j <= dimensions.right; j++) {
|
|
654
655
|
const cell = this.findCell(i, j);
|
|
655
656
|
if (cell) {
|
|
656
|
-
if (cell.type ===
|
|
657
|
+
if (cell.type === enums_1.Enums.ValueType.Merge) {
|
|
657
658
|
// this cell merges to another master
|
|
658
659
|
this._unMergeMaster(cell.master);
|
|
659
660
|
}
|
|
@@ -669,10 +670,10 @@ class Worksheet {
|
|
|
669
670
|
// Shared/Array Formula
|
|
670
671
|
fillFormula(range, formula, results, shareType = "shared") {
|
|
671
672
|
// Define formula for top-left cell and share to rest
|
|
672
|
-
const decoded =
|
|
673
|
+
const decoded = col_cache_1.colCache.decode(range);
|
|
673
674
|
const { top, left, bottom, right } = decoded;
|
|
674
675
|
const width = right - left + 1;
|
|
675
|
-
const masterAddress =
|
|
676
|
+
const masterAddress = col_cache_1.colCache.encodeAddress(top, left);
|
|
676
677
|
const isShared = shareType === "shared";
|
|
677
678
|
// work out result accessor
|
|
678
679
|
let getResult;
|
|
@@ -727,7 +728,7 @@ class Worksheet {
|
|
|
727
728
|
imageId: String(imageId),
|
|
728
729
|
range
|
|
729
730
|
};
|
|
730
|
-
this._media.push(new
|
|
731
|
+
this._media.push(new image_1.Image(this, model));
|
|
731
732
|
}
|
|
732
733
|
getImages() {
|
|
733
734
|
return this._media.filter(m => m.type === "image");
|
|
@@ -740,7 +741,7 @@ class Worksheet {
|
|
|
740
741
|
type: "background",
|
|
741
742
|
imageId: String(imageId)
|
|
742
743
|
};
|
|
743
|
-
this._media.push(new
|
|
744
|
+
this._media.push(new image_1.Image(this, model));
|
|
744
745
|
}
|
|
745
746
|
getBackgroundImageId() {
|
|
746
747
|
const image = this._media.find(m => m.type === "background");
|
|
@@ -766,10 +767,10 @@ class Worksheet {
|
|
|
766
767
|
}
|
|
767
768
|
if (password) {
|
|
768
769
|
this.sheetProtection.algorithmName = "SHA-512";
|
|
769
|
-
this.sheetProtection.saltValue =
|
|
770
|
+
this.sheetProtection.saltValue = encryptor_1.Encryptor.randomBytes(16).toString("base64");
|
|
770
771
|
this.sheetProtection.spinCount =
|
|
771
772
|
options && "spinCount" in options ? options.spinCount : 100000; // allow user specified spinCount
|
|
772
|
-
this.sheetProtection.hashValue =
|
|
773
|
+
this.sheetProtection.hashValue = encryptor_1.Encryptor.convertPasswordToHash(password, "SHA512", this.sheetProtection.saltValue, this.sheetProtection.spinCount);
|
|
773
774
|
}
|
|
774
775
|
if (options) {
|
|
775
776
|
this.sheetProtection = Object.assign(this.sheetProtection, options);
|
|
@@ -789,7 +790,7 @@ class Worksheet {
|
|
|
789
790
|
* Add a new table and return a reference to it
|
|
790
791
|
*/
|
|
791
792
|
addTable(model) {
|
|
792
|
-
const table = new
|
|
793
|
+
const table = new table_1.Table(this, model);
|
|
793
794
|
this.tables[model.name] = table;
|
|
794
795
|
return table;
|
|
795
796
|
}
|
|
@@ -814,7 +815,7 @@ class Worksheet {
|
|
|
814
815
|
// =========================================================================
|
|
815
816
|
// Pivot Tables
|
|
816
817
|
addPivotTable(model) {
|
|
817
|
-
const pivotTable = (0,
|
|
818
|
+
const pivotTable = (0, pivot_table_1.makePivotTable)(this, model);
|
|
818
819
|
this.pivotTables.push(pivotTable);
|
|
819
820
|
this.workbook.pivotTables.push(pivotTable);
|
|
820
821
|
return pivotTable;
|
|
@@ -853,6 +854,7 @@ class Worksheet {
|
|
|
853
854
|
pageSetup: this.pageSetup,
|
|
854
855
|
headerFooter: this.headerFooter,
|
|
855
856
|
rowBreaks: this.rowBreaks,
|
|
857
|
+
colBreaks: this.colBreaks,
|
|
856
858
|
views: this.views,
|
|
857
859
|
autoFilter: this.autoFilter,
|
|
858
860
|
media: this._media.map(medium => medium.model),
|
|
@@ -863,11 +865,11 @@ class Worksheet {
|
|
|
863
865
|
};
|
|
864
866
|
// =================================================
|
|
865
867
|
// columns
|
|
866
|
-
model.cols =
|
|
868
|
+
model.cols = column_1.Column.toModel(this.columns || []);
|
|
867
869
|
// ==========================================================
|
|
868
870
|
// Rows
|
|
869
871
|
const rows = (model.rows = []);
|
|
870
|
-
const dimensions = (model.dimensions = new
|
|
872
|
+
const dimensions = (model.dimensions = new range_1.Range());
|
|
871
873
|
this._rows.forEach(row => {
|
|
872
874
|
const rowModel = row && row.model;
|
|
873
875
|
if (rowModel) {
|
|
@@ -887,7 +889,7 @@ class Worksheet {
|
|
|
887
889
|
this._rows = [];
|
|
888
890
|
if (model.rows) {
|
|
889
891
|
model.rows.forEach(rowModel => {
|
|
890
|
-
const row = new
|
|
892
|
+
const row = new row_1.Row(this, rowModel.number);
|
|
891
893
|
this._rows[row.number - 1] = row;
|
|
892
894
|
row.model = rowModel;
|
|
893
895
|
});
|
|
@@ -904,19 +906,21 @@ class Worksheet {
|
|
|
904
906
|
}
|
|
905
907
|
set model(value) {
|
|
906
908
|
this.name = value.name;
|
|
907
|
-
this._columns =
|
|
909
|
+
this._columns = column_1.Column.fromModel(this, value.cols);
|
|
908
910
|
this._parseRows(value);
|
|
909
911
|
this._parseMergeCells(value);
|
|
910
|
-
this.dataValidations = new
|
|
912
|
+
this.dataValidations = new data_validations_1.DataValidations(value.dataValidations);
|
|
911
913
|
this.properties = value.properties;
|
|
912
914
|
this.pageSetup = value.pageSetup;
|
|
913
915
|
this.headerFooter = value.headerFooter;
|
|
916
|
+
this.rowBreaks = value.rowBreaks || [];
|
|
917
|
+
this.colBreaks = value.colBreaks || [];
|
|
914
918
|
this.views = value.views;
|
|
915
919
|
this.autoFilter = value.autoFilter;
|
|
916
|
-
this._media = value.media.map(medium => new
|
|
920
|
+
this._media = value.media.map(medium => new image_1.Image(this, medium));
|
|
917
921
|
this.sheetProtection = value.sheetProtection;
|
|
918
922
|
this.tables = value.tables.reduce((tables, table) => {
|
|
919
|
-
const t = new
|
|
923
|
+
const t = new table_1.Table(this, table);
|
|
920
924
|
t.model = table;
|
|
921
925
|
tables[table.name] = t;
|
|
922
926
|
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,
|