@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
package/dist/cjs/csv/csv.js
CHANGED
|
@@ -1,257 +1,193 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* CSV class for Node.js - Full streaming and file system support
|
|
4
|
-
*
|
|
5
|
-
* Features:
|
|
6
|
-
* - readFile: Read from file path (streaming)
|
|
7
|
-
* - writeFile: Write to file path (streaming)
|
|
8
|
-
* - read: Read from Node.js stream
|
|
9
|
-
* - write: Write to Node.js stream
|
|
10
|
-
* - createReadStream: Create a readable stream from worksheet
|
|
11
|
-
* - createWriteStream: Create a writable stream that writes to worksheet
|
|
12
|
-
*/
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
46
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
4
|
};
|
|
49
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.
|
|
6
|
+
exports.CSV = void 0;
|
|
51
7
|
const fs_1 = __importDefault(require("fs"));
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const
|
|
8
|
+
const stream_buf_js_1 = require("../utils/stream-buf");
|
|
9
|
+
const fast_csv_1 = require("fast-csv");
|
|
10
|
+
const customParseFormat_js_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
11
|
+
const utc_js_1 = __importDefault(require("dayjs/plugin/utc"));
|
|
12
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
13
|
+
const utils_js_1 = require("../utils/utils");
|
|
14
|
+
const SpecialValues = {
|
|
15
|
+
true: true,
|
|
16
|
+
false: false,
|
|
17
|
+
"#N/A": { error: "#N/A" },
|
|
18
|
+
"#REF!": { error: "#REF!" },
|
|
19
|
+
"#NAME?": { error: "#NAME?" },
|
|
20
|
+
"#DIV/0!": { error: "#DIV/0!" },
|
|
21
|
+
"#NULL!": { error: "#NULL!" },
|
|
22
|
+
"#VALUE!": { error: "#VALUE!" },
|
|
23
|
+
"#NUM!": { error: "#NUM!" }
|
|
24
|
+
};
|
|
25
|
+
dayjs_1.default.extend(customParseFormat_js_1.default);
|
|
26
|
+
dayjs_1.default.extend(utc_js_1.default);
|
|
55
27
|
class CSV {
|
|
56
28
|
constructor(workbook) {
|
|
57
29
|
this.workbook = workbook;
|
|
30
|
+
this.worksheet = null;
|
|
58
31
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Read CSV from file using streaming
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* ```ts
|
|
64
|
-
* const worksheet = await workbook.csv.readFile('data.csv');
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
32
|
async readFile(filename, options) {
|
|
68
|
-
|
|
33
|
+
options = options || {};
|
|
34
|
+
if (!(await (0, utils_js_1.fileExists)(filename))) {
|
|
69
35
|
throw new Error(`File not found: ${filename}`);
|
|
70
36
|
}
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
37
|
+
const stream = fs_1.default.createReadStream(filename);
|
|
38
|
+
try {
|
|
39
|
+
const worksheet = await this.read(stream, options);
|
|
40
|
+
stream.close();
|
|
41
|
+
return worksheet;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
stream.close();
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
76
47
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
*
|
|
80
|
-
* Uses true streaming - processes data row by row without loading entire file into memory.
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```ts
|
|
84
|
-
* const stream = fs.createReadStream('data.csv');
|
|
85
|
-
* const worksheet = await workbook.csv.read(stream);
|
|
86
|
-
* ```
|
|
87
|
-
*/
|
|
88
|
-
async read(stream, options) {
|
|
89
|
-
const worksheet = this.workbook.addWorksheet(options?.sheetName);
|
|
90
|
-
const dateFormats = options?.dateFormats || [
|
|
91
|
-
"YYYY-MM-DD[T]HH:mm:ssZ",
|
|
92
|
-
"YYYY-MM-DD[T]HH:mm:ss",
|
|
93
|
-
"MM-DD-YYYY",
|
|
94
|
-
"YYYY-MM-DD"
|
|
95
|
-
];
|
|
96
|
-
const map = options?.map || (0, csv_base_1.createDefaultValueMapper)(dateFormats);
|
|
97
|
-
const parser = new csv_stream_1.CsvParserStream(options?.parserOptions);
|
|
48
|
+
read(stream, options) {
|
|
49
|
+
options = options || {};
|
|
98
50
|
return new Promise((resolve, reject) => {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
51
|
+
const worksheet = this.workbook.addWorksheet(options.sheetName);
|
|
52
|
+
const dateFormats = options.dateFormats || [
|
|
53
|
+
"YYYY-MM-DD[T]HH:mm:ssZ",
|
|
54
|
+
"YYYY-MM-DD[T]HH:mm:ss",
|
|
55
|
+
"MM-DD-YYYY",
|
|
56
|
+
"YYYY-MM-DD"
|
|
57
|
+
];
|
|
58
|
+
const map = options.map ||
|
|
59
|
+
function (datum) {
|
|
60
|
+
if (datum === "") {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const datumNumber = Number(datum);
|
|
64
|
+
if (!Number.isNaN(datumNumber) && datumNumber !== Infinity) {
|
|
65
|
+
return datumNumber;
|
|
66
|
+
}
|
|
67
|
+
const dt = dateFormats.reduce((matchingDate, currentDateFormat) => {
|
|
68
|
+
if (matchingDate) {
|
|
69
|
+
return matchingDate;
|
|
70
|
+
}
|
|
71
|
+
const dayjsObj = (0, dayjs_1.default)(datum, currentDateFormat, true);
|
|
72
|
+
if (dayjsObj.isValid()) {
|
|
73
|
+
return dayjsObj;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}, null);
|
|
77
|
+
if (dt) {
|
|
78
|
+
return new Date(dt.valueOf());
|
|
79
|
+
}
|
|
80
|
+
const special = SpecialValues[datum];
|
|
81
|
+
if (special !== undefined) {
|
|
82
|
+
return special;
|
|
83
|
+
}
|
|
84
|
+
return datum;
|
|
85
|
+
};
|
|
86
|
+
const onData = (data) => {
|
|
87
|
+
worksheet.addRow(data.map(map));
|
|
88
|
+
};
|
|
89
|
+
const onEnd = () => {
|
|
90
|
+
csvStream.emit("worksheet", worksheet);
|
|
91
|
+
};
|
|
92
|
+
const cleanup = () => {
|
|
93
|
+
csvStream.removeListener("data", onData);
|
|
94
|
+
csvStream.removeListener("end", onEnd);
|
|
95
|
+
csvStream.removeListener("worksheet", onWorksheet);
|
|
96
|
+
csvStream.removeListener("error", onError);
|
|
97
|
+
};
|
|
98
|
+
const onWorksheet = (ws) => {
|
|
99
|
+
cleanup();
|
|
100
|
+
resolve(ws);
|
|
101
|
+
};
|
|
102
|
+
const onError = (err) => {
|
|
103
|
+
cleanup();
|
|
104
|
+
reject(err);
|
|
105
|
+
};
|
|
106
|
+
const csvStream = (0, fast_csv_1.parse)(options.parserOptions).on("data", onData).on("end", onEnd);
|
|
107
|
+
csvStream.once("worksheet", onWorksheet).on("error", onError);
|
|
108
|
+
stream.pipe(csvStream);
|
|
122
109
|
});
|
|
123
|
-
return this.write(writeStream, options);
|
|
124
110
|
}
|
|
125
|
-
|
|
126
|
-
* Write CSV to Node.js writable stream
|
|
127
|
-
*
|
|
128
|
-
* Uses true streaming - writes data row by row.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* ```ts
|
|
132
|
-
* const stream = fs.createWriteStream('output.csv');
|
|
133
|
-
* await workbook.csv.write(stream);
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
async write(stream, options) {
|
|
137
|
-
const worksheet = this.workbook.getWorksheet(options?.sheetName || options?.sheetId);
|
|
138
|
-
if (!worksheet) {
|
|
139
|
-
stream.end();
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
const { dateFormat, dateUTC } = options || {};
|
|
143
|
-
const map = options?.map || (0, csv_base_1.createDefaultWriteMapper)(dateFormat, dateUTC);
|
|
144
|
-
const includeEmptyRows = options?.includeEmptyRows !== false;
|
|
145
|
-
const formatterOptions = {
|
|
146
|
-
...options?.formatterOptions
|
|
147
|
-
};
|
|
148
|
-
const formatter = new csv_stream_1.CsvFormatterStream(formatterOptions);
|
|
149
|
-
formatter.pipe(stream);
|
|
150
|
-
let lastRow = 1;
|
|
151
|
-
worksheet.eachRow((row, rowNumber) => {
|
|
152
|
-
// Add empty rows if needed
|
|
153
|
-
if (includeEmptyRows) {
|
|
154
|
-
while (lastRow++ < rowNumber - 1) {
|
|
155
|
-
formatter.write([]);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
const { values } = row;
|
|
159
|
-
values.shift(); // Remove first empty element (1-indexed)
|
|
160
|
-
formatter.write(values.map(map));
|
|
161
|
-
lastRow = rowNumber;
|
|
162
|
-
});
|
|
111
|
+
write(stream, options) {
|
|
163
112
|
return new Promise((resolve, reject) => {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
113
|
+
options = options || {};
|
|
114
|
+
// const encoding = options.encoding || 'utf8';
|
|
115
|
+
// const separator = options.separator || ',';
|
|
116
|
+
// const quoteChar = options.quoteChar || '\'';
|
|
117
|
+
const worksheet = this.workbook.getWorksheet(options.sheetName || options.sheetId);
|
|
118
|
+
const csvStream = (0, fast_csv_1.format)(options.formatterOptions);
|
|
119
|
+
const cleanup = () => {
|
|
120
|
+
stream.removeListener("finish", onFinish);
|
|
121
|
+
csvStream.removeListener("error", onError);
|
|
122
|
+
};
|
|
123
|
+
const onFinish = () => {
|
|
124
|
+
cleanup();
|
|
125
|
+
resolve();
|
|
126
|
+
};
|
|
127
|
+
const onError = (err) => {
|
|
128
|
+
cleanup();
|
|
129
|
+
reject(err);
|
|
130
|
+
};
|
|
131
|
+
stream.once("finish", onFinish);
|
|
132
|
+
csvStream.on("error", onError);
|
|
133
|
+
csvStream.pipe(stream);
|
|
134
|
+
const { dateFormat, dateUTC } = options;
|
|
135
|
+
const map = options.map ||
|
|
136
|
+
(value => {
|
|
137
|
+
if (value) {
|
|
138
|
+
if (value.text || value.hyperlink) {
|
|
139
|
+
return value.hyperlink || value.text || "";
|
|
140
|
+
}
|
|
141
|
+
if (value.formula || value.result) {
|
|
142
|
+
return value.result || "";
|
|
143
|
+
}
|
|
144
|
+
if (value instanceof Date) {
|
|
145
|
+
if (dateFormat) {
|
|
146
|
+
return dateUTC
|
|
147
|
+
? dayjs_1.default.utc(value).format(dateFormat)
|
|
148
|
+
: (0, dayjs_1.default)(value).format(dateFormat);
|
|
149
|
+
}
|
|
150
|
+
return dateUTC ? dayjs_1.default.utc(value).format() : (0, dayjs_1.default)(value).format();
|
|
151
|
+
}
|
|
152
|
+
if (value.error) {
|
|
153
|
+
return value.error;
|
|
154
|
+
}
|
|
155
|
+
if (typeof value === "object") {
|
|
156
|
+
return JSON.stringify(value);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return value;
|
|
160
|
+
});
|
|
161
|
+
const includeEmptyRows = options.includeEmptyRows === undefined || options.includeEmptyRows;
|
|
162
|
+
let lastRow = 1;
|
|
163
|
+
if (worksheet) {
|
|
209
164
|
worksheet.eachRow((row, rowNumber) => {
|
|
210
165
|
if (includeEmptyRows) {
|
|
211
166
|
while (lastRow++ < rowNumber - 1) {
|
|
212
|
-
|
|
167
|
+
csvStream.write([]);
|
|
213
168
|
}
|
|
214
169
|
}
|
|
215
170
|
const { values } = row;
|
|
216
171
|
values.shift();
|
|
217
|
-
|
|
172
|
+
csvStream.write(values.map(map));
|
|
218
173
|
lastRow = rowNumber;
|
|
219
174
|
});
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
setImmediate(() => formatter.end());
|
|
225
|
-
}
|
|
226
|
-
return formatter;
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Create a writable stream that parses CSV and adds rows to a worksheet
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* ```ts
|
|
233
|
-
* const csvWriter = workbook.csv.createWriteStream({ sheetName: 'Data' });
|
|
234
|
-
* fs.createReadStream('input.csv').pipe(csvWriter);
|
|
235
|
-
* await new Promise(resolve => csvWriter.on('finish', resolve));
|
|
236
|
-
* ```
|
|
237
|
-
*/
|
|
238
|
-
createWriteStream(options) {
|
|
239
|
-
const worksheet = this.workbook.addWorksheet(options?.sheetName);
|
|
240
|
-
const dateFormats = options?.dateFormats || [
|
|
241
|
-
"YYYY-MM-DD[T]HH:mm:ssZ",
|
|
242
|
-
"YYYY-MM-DD[T]HH:mm:ss",
|
|
243
|
-
"MM-DD-YYYY",
|
|
244
|
-
"YYYY-MM-DD"
|
|
245
|
-
];
|
|
246
|
-
const map = options?.map || (0, csv_base_1.createDefaultValueMapper)(dateFormats);
|
|
247
|
-
const parser = new csv_stream_1.CsvParserStream(options?.parserOptions);
|
|
248
|
-
parser.on("data", (row) => {
|
|
249
|
-
worksheet.addRow(row.map(map));
|
|
175
|
+
}
|
|
176
|
+
csvStream.end();
|
|
250
177
|
});
|
|
251
|
-
|
|
178
|
+
}
|
|
179
|
+
writeFile(filename, options) {
|
|
180
|
+
options = options || {};
|
|
181
|
+
const streamOptions = {
|
|
182
|
+
encoding: (options.encoding || "utf8")
|
|
183
|
+
};
|
|
184
|
+
const stream = fs_1.default.createWriteStream(filename, streamOptions);
|
|
185
|
+
return this.write(stream, options);
|
|
186
|
+
}
|
|
187
|
+
async writeBuffer(options) {
|
|
188
|
+
const stream = new stream_buf_js_1.StreamBuf();
|
|
189
|
+
await this.write(stream, options);
|
|
190
|
+
return stream.read();
|
|
252
191
|
}
|
|
253
192
|
}
|
|
254
193
|
exports.CSV = CSV;
|
|
255
|
-
var csv_stream_2 = require("./csv-stream");
|
|
256
|
-
Object.defineProperty(exports, "CsvParserStream", { enumerable: true, get: function () { return csv_stream_2.CsvParserStream; } });
|
|
257
|
-
Object.defineProperty(exports, "CsvFormatterStream", { enumerable: true, get: function () { return csv_stream_2.CsvFormatterStream; } });
|
package/dist/cjs/doc/anchor.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Anchor = void 0;
|
|
4
|
-
const
|
|
4
|
+
const col_cache_js_1 = require("../utils/col-cache");
|
|
5
5
|
function isAnchorModel(value) {
|
|
6
6
|
return (typeof value === "object" &&
|
|
7
7
|
"nativeCol" in value &&
|
|
@@ -22,7 +22,7 @@ class Anchor {
|
|
|
22
22
|
this.nativeRowOff = 0;
|
|
23
23
|
}
|
|
24
24
|
else if (typeof address === "string") {
|
|
25
|
-
const decoded =
|
|
25
|
+
const decoded = col_cache_js_1.colCache.decodeAddress(address);
|
|
26
26
|
this.nativeCol = decoded.col + offset;
|
|
27
27
|
this.nativeColOff = 0;
|
|
28
28
|
this.nativeRow = decoded.row + offset;
|
package/dist/cjs/doc/cell.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Cell = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const col_cache_js_1 = require("../utils/col-cache");
|
|
5
|
+
const enums_js_1 = require("./enums");
|
|
6
|
+
const note_js_1 = require("./note");
|
|
7
|
+
const under_dash_js_1 = require("../utils/under-dash");
|
|
8
|
+
const shared_formula_js_1 = require("../utils/shared-formula");
|
|
9
9
|
// Cell requirements
|
|
10
10
|
// Operate inside a worksheet
|
|
11
11
|
// Store and retrieve a value with a range of types: text, number, date, hyperlink, reference, formula, etc.
|
|
@@ -17,7 +17,7 @@ class Cell {
|
|
|
17
17
|
}
|
|
18
18
|
this._row = row;
|
|
19
19
|
this._column = column;
|
|
20
|
-
|
|
20
|
+
col_cache_js_1.colCache.validateAddress(address);
|
|
21
21
|
this._address = address;
|
|
22
22
|
// TODO: lazy evaluation of this._value
|
|
23
23
|
this._value = Value.create(Cell.Types.Null, this);
|
|
@@ -194,7 +194,7 @@ class Cell {
|
|
|
194
194
|
return noteValue;
|
|
195
195
|
}
|
|
196
196
|
set note(note) {
|
|
197
|
-
this._comment = new
|
|
197
|
+
this._comment = new note_js_1.Note(note);
|
|
198
198
|
}
|
|
199
199
|
// Internal comment accessor for row operations
|
|
200
200
|
get comment() {
|
|
@@ -204,18 +204,18 @@ class Cell {
|
|
|
204
204
|
if (comment === undefined) {
|
|
205
205
|
this._comment = undefined;
|
|
206
206
|
}
|
|
207
|
-
else if (comment instanceof
|
|
207
|
+
else if (comment instanceof note_js_1.Note) {
|
|
208
208
|
this._comment = comment;
|
|
209
209
|
}
|
|
210
210
|
else {
|
|
211
|
-
this._comment = new
|
|
211
|
+
this._comment = new note_js_1.Note(comment);
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
get text() {
|
|
215
215
|
return this._value.toString();
|
|
216
216
|
}
|
|
217
217
|
get html() {
|
|
218
|
-
return (0,
|
|
218
|
+
return (0, under_dash_js_1.escapeHtml)(this.text);
|
|
219
219
|
}
|
|
220
220
|
toString() {
|
|
221
221
|
return this.text;
|
|
@@ -304,7 +304,7 @@ class Cell {
|
|
|
304
304
|
if (value.comment) {
|
|
305
305
|
switch (value.comment.type) {
|
|
306
306
|
case "note":
|
|
307
|
-
this._comment =
|
|
307
|
+
this._comment = note_js_1.Note.fromModel(value.comment);
|
|
308
308
|
break;
|
|
309
309
|
}
|
|
310
310
|
}
|
|
@@ -317,7 +317,7 @@ class Cell {
|
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
exports.Cell = Cell;
|
|
320
|
-
Cell.Types =
|
|
320
|
+
Cell.Types = enums_js_1.Enums.ValueType;
|
|
321
321
|
class NullValue {
|
|
322
322
|
constructor(cell) {
|
|
323
323
|
this.model = {
|
|
@@ -687,12 +687,12 @@ class FormulaValue {
|
|
|
687
687
|
}
|
|
688
688
|
get formulaType() {
|
|
689
689
|
if (this.model.formula) {
|
|
690
|
-
return
|
|
690
|
+
return enums_js_1.Enums.FormulaType.Master;
|
|
691
691
|
}
|
|
692
692
|
if (this.model.sharedFormula) {
|
|
693
|
-
return
|
|
693
|
+
return enums_js_1.Enums.FormulaType.Shared;
|
|
694
694
|
}
|
|
695
|
-
return
|
|
695
|
+
return enums_js_1.Enums.FormulaType.None;
|
|
696
696
|
}
|
|
697
697
|
get result() {
|
|
698
698
|
return this.model.result;
|
|
@@ -706,21 +706,21 @@ class FormulaValue {
|
|
|
706
706
|
get effectiveType() {
|
|
707
707
|
const v = this.model.result;
|
|
708
708
|
if (v === null || v === undefined) {
|
|
709
|
-
return
|
|
709
|
+
return enums_js_1.Enums.ValueType.Null;
|
|
710
710
|
}
|
|
711
711
|
if (v instanceof String || typeof v === "string") {
|
|
712
|
-
return
|
|
712
|
+
return enums_js_1.Enums.ValueType.String;
|
|
713
713
|
}
|
|
714
714
|
if (typeof v === "number") {
|
|
715
|
-
return
|
|
715
|
+
return enums_js_1.Enums.ValueType.Number;
|
|
716
716
|
}
|
|
717
717
|
if (v instanceof Date) {
|
|
718
|
-
return
|
|
718
|
+
return enums_js_1.Enums.ValueType.Date;
|
|
719
719
|
}
|
|
720
720
|
if (typeof v === "object" && "error" in v) {
|
|
721
|
-
return
|
|
721
|
+
return enums_js_1.Enums.ValueType.Error;
|
|
722
722
|
}
|
|
723
|
-
return
|
|
723
|
+
return enums_js_1.Enums.ValueType.Null;
|
|
724
724
|
}
|
|
725
725
|
get address() {
|
|
726
726
|
return this.model.address;
|
|
@@ -733,7 +733,7 @@ class FormulaValue {
|
|
|
733
733
|
const { worksheet } = this.cell;
|
|
734
734
|
const master = worksheet.findCell(this.model.sharedFormula);
|
|
735
735
|
this._translatedFormula =
|
|
736
|
-
master && (0,
|
|
736
|
+
master && (0, shared_formula_js_1.slideFormula)(master.formula, master.address, this.model.address);
|
|
737
737
|
}
|
|
738
738
|
return this._translatedFormula;
|
|
739
739
|
}
|
package/dist/cjs/doc/column.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Column = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const col_cache_js_1 = require("../utils/col-cache");
|
|
5
|
+
const under_dash_js_1 = require("../utils/under-dash");
|
|
6
|
+
const enums_js_1 = require("./enums");
|
|
7
7
|
const DEFAULT_COLUMN_WIDTH = 9;
|
|
8
8
|
/**
|
|
9
9
|
* Column defines the column properties for 1 column.
|
|
@@ -29,7 +29,7 @@ class Column {
|
|
|
29
29
|
* Column letter key
|
|
30
30
|
*/
|
|
31
31
|
get letter() {
|
|
32
|
-
return
|
|
32
|
+
return col_cache_js_1.colCache.n2l(this._number);
|
|
33
33
|
}
|
|
34
34
|
get isCustomWidth() {
|
|
35
35
|
return this.width !== undefined && this.width !== DEFAULT_COLUMN_WIDTH;
|
|
@@ -148,13 +148,13 @@ class Column {
|
|
|
148
148
|
return (this.width === other.width &&
|
|
149
149
|
this.hidden === other.hidden &&
|
|
150
150
|
this.outlineLevel === other.outlineLevel &&
|
|
151
|
-
(0,
|
|
151
|
+
(0, under_dash_js_1.isEqual)(this.style, other.style));
|
|
152
152
|
}
|
|
153
153
|
equivalentToModel(model) {
|
|
154
154
|
return (this.width === model.width &&
|
|
155
155
|
this.hidden === model.hidden &&
|
|
156
156
|
this.outlineLevel === model.outlineLevel &&
|
|
157
|
-
(0,
|
|
157
|
+
(0, under_dash_js_1.isEqual)(this.style, model.style));
|
|
158
158
|
}
|
|
159
159
|
get isDefault() {
|
|
160
160
|
if (this.isCustomWidth) {
|
|
@@ -197,7 +197,7 @@ class Column {
|
|
|
197
197
|
get values() {
|
|
198
198
|
const v = [];
|
|
199
199
|
this.eachCell((cell, rowNumber) => {
|
|
200
|
-
if (cell && cell.type !==
|
|
200
|
+
if (cell && cell.type !== enums_js_1.Enums.ValueType.Null) {
|
|
201
201
|
v[rowNumber] = cell.value;
|
|
202
202
|
}
|
|
203
203
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DataValidations = void 0;
|
|
4
|
-
const
|
|
4
|
+
const col_cache_js_1 = require("../utils/col-cache");
|
|
5
5
|
class DataValidations {
|
|
6
6
|
constructor(model) {
|
|
7
7
|
this.model = model || {};
|
|
@@ -22,10 +22,10 @@ class DataValidations {
|
|
|
22
22
|
if (rangeKeys.length === 0) {
|
|
23
23
|
return undefined;
|
|
24
24
|
}
|
|
25
|
-
const decoded =
|
|
25
|
+
const decoded = col_cache_js_1.colCache.decodeAddress(address);
|
|
26
26
|
for (const key of rangeKeys) {
|
|
27
27
|
const rangeStr = key.slice(6); // Remove "range:" prefix
|
|
28
|
-
const rangeDecoded =
|
|
28
|
+
const rangeDecoded = col_cache_js_1.colCache.decodeEx(rangeStr);
|
|
29
29
|
if (rangeDecoded.dimensions) {
|
|
30
30
|
const tl = rangeDecoded.tl;
|
|
31
31
|
const br = rangeDecoded.br;
|