@cj-tech-master/excelts 1.6.3-canary.20251224124621.73c5d94 → 1.6.3
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 +18 -31
- package/README_zh.md +19 -31
- package/dist/browser/excelts.iife.js +40910 -7518
- package/dist/browser/excelts.iife.js.map +1 -1
- package/dist/browser/excelts.iife.min.js +105 -25
- package/dist/cjs/csv/csv.js +162 -226
- 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.js +179 -68
- package/dist/cjs/doc/worksheet.js +41 -41
- package/dist/cjs/index.js +32 -49
- 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/cell-format.js +2 -2
- package/dist/cjs/utils/cell-matrix.js +5 -5
- 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.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.js +154 -46
- package/dist/cjs/utils/xml-stream.js +3 -3
- package/dist/cjs/utils/zip/compress.js +198 -18
- 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.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 +11 -10
- 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 +12 -11
- 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.js +833 -91
- package/dist/esm/csv/csv.js +159 -189
- package/dist/esm/doc/workbook.js +175 -64
- package/dist/esm/index.browser.js +1 -33
- package/dist/esm/index.js +8 -23
- package/dist/esm/local.js +1 -0
- package/dist/esm/utils/utils.js +123 -15
- package/dist/esm/utils/zip/compress.js +164 -16
- package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +3 -2
- package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +3 -2
- package/dist/esm/xlsx/xlsx.js +829 -87
- package/dist/types/csv/csv.d.ts +71 -97
- 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.d.ts +92 -62
- package/dist/types/doc/worksheet.d.ts +10 -10
- package/dist/types/index.browser.d.ts +5 -19
- package/dist/types/index.d.ts +23 -24
- package/dist/types/local.d.ts +1 -0
- 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/col-cache.d.ts +1 -1
- package/dist/types/utils/sheet-utils.d.ts +3 -3
- 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.d.ts +25 -6
- package/dist/types/utils/zip/compress.d.ts +45 -13
- package/dist/types/utils/zip/index.d.ts +5 -5
- package/dist/types/utils/zip/zip-builder.d.ts +1 -1
- 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.d.ts +80 -20
- package/package.json +15 -13
- package/dist/browser/excelts.esm.js +0 -19115
- package/dist/browser/excelts.esm.js.map +0 -1
- package/dist/browser/excelts.esm.min.js +0 -127
- package/dist/cjs/csv/csv-core.js +0 -701
- package/dist/cjs/csv/csv-stream.js +0 -646
- package/dist/cjs/csv/csv.base.js +0 -154
- package/dist/cjs/csv/csv.browser.js +0 -68
- package/dist/cjs/doc/workbook.base.js +0 -211
- package/dist/cjs/doc/workbook.browser.js +0 -62
- package/dist/cjs/utils/browser-buffer.js +0 -75
- package/dist/cjs/utils/encryptor.browser.js +0 -240
- package/dist/cjs/utils/stream-buf.browser.js +0 -355
- package/dist/cjs/utils/utils.base.js +0 -161
- package/dist/cjs/utils/utils.browser.js +0 -89
- package/dist/cjs/utils/zip/compress.base.js +0 -85
- package/dist/cjs/utils/zip/compress.browser.js +0 -83
- package/dist/cjs/utils/zip/crc32.browser.js +0 -88
- package/dist/cjs/utils/zip-stream.browser.js +0 -135
- package/dist/cjs/xlsx/xlsx.base.js +0 -742
- package/dist/cjs/xlsx/xlsx.browser.js +0 -205
- package/dist/esm/csv/csv-core.js +0 -694
- package/dist/esm/csv/csv-stream.js +0 -638
- package/dist/esm/csv/csv.base.js +0 -141
- package/dist/esm/csv/csv.browser.js +0 -65
- package/dist/esm/doc/workbook.base.js +0 -207
- package/dist/esm/doc/workbook.browser.js +0 -59
- package/dist/esm/utils/browser-buffer.js +0 -67
- package/dist/esm/utils/encryptor.browser.js +0 -237
- package/dist/esm/utils/stream-buf.browser.js +0 -352
- package/dist/esm/utils/utils.base.js +0 -142
- package/dist/esm/utils/utils.browser.js +0 -68
- package/dist/esm/utils/zip/compress.base.js +0 -80
- package/dist/esm/utils/zip/compress.browser.js +0 -76
- package/dist/esm/utils/zip/crc32.browser.js +0 -82
- package/dist/esm/utils/zip-stream.browser.js +0 -132
- package/dist/esm/xlsx/xlsx.base.js +0 -739
- package/dist/esm/xlsx/xlsx.browser.js +0 -202
- package/dist/types/csv/csv-core.d.ts +0 -207
- package/dist/types/csv/csv-stream.d.ts +0 -114
- package/dist/types/csv/csv.base.d.ts +0 -61
- package/dist/types/csv/csv.browser.d.ts +0 -33
- package/dist/types/doc/workbook.base.d.ts +0 -111
- package/dist/types/doc/workbook.browser.d.ts +0 -38
- package/dist/types/utils/browser-buffer.d.ts +0 -28
- package/dist/types/utils/encryptor.browser.d.ts +0 -28
- package/dist/types/utils/stream-buf.browser.d.ts +0 -41
- package/dist/types/utils/utils.base.d.ts +0 -29
- package/dist/types/utils/utils.browser.d.ts +0 -29
- package/dist/types/utils/zip/compress.base.d.ts +0 -42
- package/dist/types/utils/zip/compress.browser.d.ts +0 -54
- package/dist/types/utils/zip/crc32.browser.d.ts +0 -52
- package/dist/types/utils/zip-stream.browser.d.ts +0 -39
- package/dist/types/xlsx/xlsx.base.d.ts +0 -134
- package/dist/types/xlsx/xlsx.browser.d.ts +0 -31
|
@@ -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_js_1 = require("../../utils/xml-stream");
|
|
5
|
+
const rel_type_js_1 = require("../../xlsx/rel-type");
|
|
6
|
+
const col_cache_js_1 = require("../../utils/col-cache");
|
|
7
|
+
const comment_xform_js_1 = require("../../xlsx/xform/comment/comment-xform");
|
|
8
|
+
const vml_shape_xform_js_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_js_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_js_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_js_1.CommentXform();
|
|
65
|
+
const commentsXmlStream = new xml_stream_js_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_js_1.VmlShapeXform();
|
|
69
|
+
const vmlXmlStream = new xml_stream_js_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_js_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_js_1 = require("../../utils/utils");
|
|
5
|
+
const rel_type_js_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_js_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_js_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_js_1 = require("../../utils/iterate-stream");
|
|
13
|
+
const parse_sax_js_1 = require("../../utils/parse-sax");
|
|
14
|
+
const styles_xform_js_1 = require("../../xlsx/xform/style/styles-xform");
|
|
15
|
+
const workbook_xform_js_1 = require("../../xlsx/xform/book/workbook-xform");
|
|
16
|
+
const relationships_xform_js_1 = require("../../xlsx/xform/core/relationships-xform");
|
|
17
|
+
const worksheet_reader_js_1 = require("./worksheet-reader");
|
|
18
|
+
const hyperlink_reader_js_1 = require("./hyperlink-reader");
|
|
19
|
+
const parse_js_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_js_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_js_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_js_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_js_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_js_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_js_1.RelationshipsXform();
|
|
181
|
+
this.workbookRels = await xform.parseStream((0, iterate_stream_js_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_js_1.WorkbookXform();
|
|
186
|
+
this.model = await workbook.parseStream((0, iterate_stream_js_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_js_1.parseSax)((0, iterate_stream_js_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_js_1.StylesXform();
|
|
314
|
+
await this.styles.parseStream((0, iterate_stream_js_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_js_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_js_1.HyperlinkReader({
|
|
341
341
|
workbook: this,
|
|
342
342
|
id: parseInt(sheetNo, 10),
|
|
343
343
|
iterator: iterator,
|
|
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.WorkbookWriter = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const fflate_1 = require("fflate");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
9
|
+
const stream_buf_js_1 = require("../../utils/stream-buf");
|
|
10
|
+
const rel_type_js_1 = require("../../xlsx/rel-type");
|
|
11
|
+
const styles_xform_js_1 = require("../../xlsx/xform/style/styles-xform");
|
|
12
|
+
const shared_strings_js_1 = require("../../utils/shared-strings");
|
|
13
|
+
const defined_names_js_1 = require("../../doc/defined-names");
|
|
14
|
+
const core_xform_js_1 = require("../../xlsx/xform/core/core-xform");
|
|
15
|
+
const relationships_xform_js_1 = require("../../xlsx/xform/core/relationships-xform");
|
|
16
|
+
const content_types_xform_js_1 = require("../../xlsx/xform/core/content-types-xform");
|
|
17
|
+
const app_xform_js_1 = require("../../xlsx/xform/core/app-xform");
|
|
18
|
+
const workbook_xform_js_1 = require("../../xlsx/xform/book/workbook-xform");
|
|
19
|
+
const shared_strings_xform_js_1 = require("../../xlsx/xform/strings/shared-strings-xform");
|
|
20
|
+
const worksheet_writer_js_1 = require("./worksheet-writer");
|
|
21
|
+
const theme1_js_1 = require("../../xlsx/xml/theme1");
|
|
22
22
|
class WorkbookWriter {
|
|
23
23
|
constructor(options = {}) {
|
|
24
24
|
this.created = options.created || new Date();
|
|
@@ -28,11 +28,11 @@ class WorkbookWriter {
|
|
|
28
28
|
this.lastPrinted = options.lastPrinted;
|
|
29
29
|
// using shared strings creates a smaller xlsx file but may use more memory
|
|
30
30
|
this.useSharedStrings = options.useSharedStrings || false;
|
|
31
|
-
this.sharedStrings = new
|
|
31
|
+
this.sharedStrings = new shared_strings_js_1.SharedStrings();
|
|
32
32
|
// style manager
|
|
33
|
-
this.styles = options.useStyles ? new
|
|
33
|
+
this.styles = options.useStyles ? new styles_xform_js_1.StylesXform(true) : new styles_xform_js_1.StylesXform.Mock(true);
|
|
34
34
|
// defined names
|
|
35
|
-
this._definedNames = new
|
|
35
|
+
this._definedNames = new defined_names_js_1.DefinedNames();
|
|
36
36
|
this._worksheets = [];
|
|
37
37
|
this.views = [];
|
|
38
38
|
this.zipOptions = options.zip;
|
|
@@ -62,7 +62,7 @@ class WorkbookWriter {
|
|
|
62
62
|
this.stream = fs_1.default.createWriteStream(options.filename);
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
|
-
this.stream = new
|
|
65
|
+
this.stream = new stream_buf_js_1.StreamBuf();
|
|
66
66
|
}
|
|
67
67
|
// these bits can be added right now
|
|
68
68
|
this.promise = Promise.all([this.addThemes(), this.addOfficeRels()]);
|
|
@@ -71,7 +71,7 @@ class WorkbookWriter {
|
|
|
71
71
|
return this._definedNames;
|
|
72
72
|
}
|
|
73
73
|
_openStream(path) {
|
|
74
|
-
const stream = new
|
|
74
|
+
const stream = new stream_buf_js_1.StreamBuf({ bufSize: 65536, batch: true });
|
|
75
75
|
// Create a ZipDeflate for this file with compression
|
|
76
76
|
const zipFile = new fflate_1.ZipDeflate(path, { level: this.compressionLevel });
|
|
77
77
|
this.zip.add(zipFile);
|
|
@@ -191,7 +191,7 @@ class WorkbookWriter {
|
|
|
191
191
|
}
|
|
192
192
|
const id = this.nextId;
|
|
193
193
|
name = name || `sheet${id}`;
|
|
194
|
-
const worksheet = new
|
|
194
|
+
const worksheet = new worksheet_writer_js_1.WorksheetWriter({
|
|
195
195
|
id,
|
|
196
196
|
name,
|
|
197
197
|
workbook: this,
|
|
@@ -229,17 +229,17 @@ class WorkbookWriter {
|
|
|
229
229
|
}
|
|
230
230
|
addThemes() {
|
|
231
231
|
return new Promise(resolve => {
|
|
232
|
-
this._addFile(
|
|
232
|
+
this._addFile(theme1_js_1.theme1Xml, "xl/theme/theme1.xml");
|
|
233
233
|
resolve();
|
|
234
234
|
});
|
|
235
235
|
}
|
|
236
236
|
addOfficeRels() {
|
|
237
237
|
return new Promise(resolve => {
|
|
238
|
-
const xform = new
|
|
238
|
+
const xform = new relationships_xform_js_1.RelationshipsXform();
|
|
239
239
|
const xml = xform.toXml([
|
|
240
|
-
{ Id: "rId1", Type:
|
|
241
|
-
{ Id: "rId2", Type:
|
|
242
|
-
{ Id: "rId3", Type:
|
|
240
|
+
{ Id: "rId1", Type: rel_type_js_1.RelType.OfficeDocument, Target: "xl/workbook.xml" },
|
|
241
|
+
{ Id: "rId2", Type: rel_type_js_1.RelType.CoreProperties, Target: "docProps/core.xml" },
|
|
242
|
+
{ Id: "rId3", Type: rel_type_js_1.RelType.ExtenderProperties, Target: "docProps/app.xml" }
|
|
243
243
|
]);
|
|
244
244
|
this._addFile(xml, "_rels/.rels");
|
|
245
245
|
resolve();
|
|
@@ -253,7 +253,7 @@ class WorkbookWriter {
|
|
|
253
253
|
commentRefs: this.commentRefs,
|
|
254
254
|
media: this.media
|
|
255
255
|
};
|
|
256
|
-
const xform = new
|
|
256
|
+
const xform = new content_types_xform_js_1.ContentTypesXform();
|
|
257
257
|
const xml = xform.toXml(model);
|
|
258
258
|
this._addFile(xml, "[Content_Types].xml");
|
|
259
259
|
resolve();
|
|
@@ -296,7 +296,7 @@ class WorkbookWriter {
|
|
|
296
296
|
const model = {
|
|
297
297
|
worksheets: this._worksheets.filter(Boolean)
|
|
298
298
|
};
|
|
299
|
-
const xform = new
|
|
299
|
+
const xform = new app_xform_js_1.AppXform();
|
|
300
300
|
const xml = xform.toXml(model);
|
|
301
301
|
this._addFile(xml, "docProps/app.xml");
|
|
302
302
|
resolve();
|
|
@@ -304,7 +304,7 @@ class WorkbookWriter {
|
|
|
304
304
|
}
|
|
305
305
|
addCore() {
|
|
306
306
|
return new Promise(resolve => {
|
|
307
|
-
const coreXform = new
|
|
307
|
+
const coreXform = new core_xform_js_1.CoreXform();
|
|
308
308
|
const xml = coreXform.toXml(this);
|
|
309
309
|
this._addFile(xml, "docProps/core.xml");
|
|
310
310
|
resolve();
|
|
@@ -313,7 +313,7 @@ class WorkbookWriter {
|
|
|
313
313
|
addSharedStrings() {
|
|
314
314
|
if (this.sharedStrings.count) {
|
|
315
315
|
return new Promise(resolve => {
|
|
316
|
-
const sharedStringsXform = new
|
|
316
|
+
const sharedStringsXform = new shared_strings_xform_js_1.SharedStringsXform();
|
|
317
317
|
const xml = sharedStringsXform.toXml(this.sharedStrings);
|
|
318
318
|
this._addFile(xml, "xl/sharedStrings.xml");
|
|
319
319
|
resolve();
|
|
@@ -324,13 +324,13 @@ class WorkbookWriter {
|
|
|
324
324
|
addWorkbookRels() {
|
|
325
325
|
let count = 1;
|
|
326
326
|
const relationships = [
|
|
327
|
-
{ Id: `rId${count++}`, Type:
|
|
328
|
-
{ Id: `rId${count++}`, Type:
|
|
327
|
+
{ Id: `rId${count++}`, Type: rel_type_js_1.RelType.Styles, Target: "styles.xml" },
|
|
328
|
+
{ Id: `rId${count++}`, Type: rel_type_js_1.RelType.Theme, Target: "theme/theme1.xml" }
|
|
329
329
|
];
|
|
330
330
|
if (this.sharedStrings.count) {
|
|
331
331
|
relationships.push({
|
|
332
332
|
Id: `rId${count++}`,
|
|
333
|
-
Type:
|
|
333
|
+
Type: rel_type_js_1.RelType.SharedStrings,
|
|
334
334
|
Target: "sharedStrings.xml"
|
|
335
335
|
});
|
|
336
336
|
}
|
|
@@ -339,13 +339,13 @@ class WorkbookWriter {
|
|
|
339
339
|
worksheet.rId = `rId${count++}`;
|
|
340
340
|
relationships.push({
|
|
341
341
|
Id: worksheet.rId,
|
|
342
|
-
Type:
|
|
342
|
+
Type: rel_type_js_1.RelType.Worksheet,
|
|
343
343
|
Target: `worksheets/sheet${worksheet.id}.xml`
|
|
344
344
|
});
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
347
|
return new Promise(resolve => {
|
|
348
|
-
const xform = new
|
|
348
|
+
const xform = new relationships_xform_js_1.RelationshipsXform();
|
|
349
349
|
const xml = xform.toXml(relationships);
|
|
350
350
|
this._addFile(xml, "xl/_rels/workbook.xml.rels");
|
|
351
351
|
resolve();
|
|
@@ -360,7 +360,7 @@ class WorkbookWriter {
|
|
|
360
360
|
calcProperties: {}
|
|
361
361
|
};
|
|
362
362
|
return new Promise(resolve => {
|
|
363
|
-
const xform = new
|
|
363
|
+
const xform = new workbook_xform_js_1.WorkbookXform();
|
|
364
364
|
xform.prepare(model);
|
|
365
365
|
this._addFile(xform.toXml(model), "xl/workbook.xml");
|
|
366
366
|
resolve();
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WorksheetReader = void 0;
|
|
4
4
|
const events_1 = require("events");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
5
|
+
const parse_sax_js_1 = require("../../utils/parse-sax");
|
|
6
|
+
const utils_js_1 = require("../../utils/utils");
|
|
7
|
+
const col_cache_js_1 = require("../../utils/col-cache");
|
|
8
|
+
const range_js_1 = require("../../doc/range");
|
|
9
|
+
const row_js_1 = require("../../doc/row");
|
|
10
|
+
const column_js_1 = require("../../doc/column");
|
|
11
11
|
class WorksheetReader extends events_1.EventEmitter {
|
|
12
12
|
constructor({ workbook, id, iterator, options }) {
|
|
13
13
|
super();
|
|
@@ -21,7 +21,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
21
21
|
this._columns = null;
|
|
22
22
|
this._keys = {};
|
|
23
23
|
// keep a record of dimensions
|
|
24
|
-
this._dimensions = new
|
|
24
|
+
this._dimensions = new range_js_1.Dimensions();
|
|
25
25
|
}
|
|
26
26
|
// destroy - not a valid operation for a streaming writer
|
|
27
27
|
// even though some streamers might be able to, it's a bad idea.
|
|
@@ -48,7 +48,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
48
48
|
return col;
|
|
49
49
|
}
|
|
50
50
|
// otherwise, assume letter
|
|
51
|
-
c =
|
|
51
|
+
c = col_cache_js_1.colCache.l2n(c);
|
|
52
52
|
}
|
|
53
53
|
if (!this._columns) {
|
|
54
54
|
this._columns = [];
|
|
@@ -56,7 +56,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
56
56
|
if (c > this._columns.length) {
|
|
57
57
|
let n = this._columns.length + 1;
|
|
58
58
|
while (n <= c) {
|
|
59
|
-
this._columns.push(new
|
|
59
|
+
this._columns.push(new column_js_1.Column(this, n++));
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
return this._columns[c - 1];
|
|
@@ -133,7 +133,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
133
133
|
let row = null;
|
|
134
134
|
let c = null;
|
|
135
135
|
let current = null;
|
|
136
|
-
for await (const events of (0,
|
|
136
|
+
for await (const events of (0, parse_sax_js_1.parseSax)(iterator)) {
|
|
137
137
|
const worksheetEvents = [];
|
|
138
138
|
for (const { eventType, value } of events) {
|
|
139
139
|
if (eventType === "opentag") {
|
|
@@ -160,7 +160,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
160
160
|
case "row":
|
|
161
161
|
if (inRows) {
|
|
162
162
|
const r = parseInt(node.attributes.r, 10);
|
|
163
|
-
row = new
|
|
163
|
+
row = new row_js_1.Row(this, r);
|
|
164
164
|
if (node.attributes.ht) {
|
|
165
165
|
row.height = parseFloat(node.attributes.ht);
|
|
166
166
|
}
|
|
@@ -244,7 +244,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
244
244
|
switch (node.name) {
|
|
245
245
|
case "cols":
|
|
246
246
|
inCols = false;
|
|
247
|
-
this._columns =
|
|
247
|
+
this._columns = column_js_1.Column.fromModel(cols);
|
|
248
248
|
break;
|
|
249
249
|
case "sheetData":
|
|
250
250
|
inRows = false;
|
|
@@ -256,7 +256,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
256
256
|
break;
|
|
257
257
|
case "c":
|
|
258
258
|
if (row && c) {
|
|
259
|
-
const address =
|
|
259
|
+
const address = col_cache_js_1.colCache.decodeAddress(c.ref);
|
|
260
260
|
const cell = row.getCell(address.col);
|
|
261
261
|
if (c.s) {
|
|
262
262
|
const style = styles.getStyleModel(c.s);
|
|
@@ -270,7 +270,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
270
270
|
};
|
|
271
271
|
if (c.v) {
|
|
272
272
|
if (c.t === "str") {
|
|
273
|
-
cellValue.result = (0,
|
|
273
|
+
cellValue.result = (0, utils_js_1.xmlDecode)(c.v.text);
|
|
274
274
|
}
|
|
275
275
|
else {
|
|
276
276
|
cellValue.result = parseFloat(c.v.text);
|
|
@@ -295,7 +295,7 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
295
295
|
}
|
|
296
296
|
case "inlineStr":
|
|
297
297
|
case "str":
|
|
298
|
-
cell.value = (0,
|
|
298
|
+
cell.value = (0, utils_js_1.xmlDecode)(c.v.text);
|
|
299
299
|
break;
|
|
300
300
|
case "e":
|
|
301
301
|
cell.value = { error: c.v.text };
|
|
@@ -305,8 +305,8 @@ class WorksheetReader extends events_1.EventEmitter {
|
|
|
305
305
|
break;
|
|
306
306
|
default: {
|
|
307
307
|
const numFmtStr = typeof cell.numFmt === "string" ? cell.numFmt : cell.numFmt?.formatCode;
|
|
308
|
-
if (numFmtStr && (0,
|
|
309
|
-
cell.value = (0,
|
|
308
|
+
if (numFmtStr && (0, utils_js_1.isDateFmt)(numFmtStr)) {
|
|
309
|
+
cell.value = (0, utils_js_1.excelToDate)(parseFloat(c.v.text), properties?.model?.date1904);
|
|
310
310
|
}
|
|
311
311
|
else {
|
|
312
312
|
cell.value = parseFloat(c.v.text);
|