@cj-tech-master/excelts 1.6.2 → 1.6.3-canary.20251224125850.7da664f
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 +141 -8
- package/README_zh.md +142 -10
- package/dist/browser/excelts.esm.js +19115 -0
- package/dist/browser/excelts.esm.js.map +1 -0
- package/dist/browser/excelts.esm.min.js +127 -0
- package/dist/browser/excelts.iife.js +13576 -46968
- package/dist/browser/excelts.iife.js.map +1 -1
- package/dist/browser/excelts.iife.min.js +25 -105
- package/dist/cjs/csv/csv-core.js +701 -0
- package/dist/cjs/csv/csv-stream.js +646 -0
- package/dist/cjs/csv/csv.base.js +154 -0
- package/dist/cjs/csv/csv.browser.js +68 -0
- package/dist/cjs/csv/csv.js +226 -162
- package/dist/cjs/doc/anchor.js +2 -2
- package/dist/cjs/doc/cell.js +22 -22
- package/dist/cjs/doc/column.js +7 -7
- package/dist/cjs/doc/data-validations.js +3 -3
- package/dist/cjs/doc/defined-names.js +13 -13
- package/dist/cjs/doc/image.js +7 -7
- package/dist/cjs/doc/modelcontainer.js +2 -2
- package/dist/cjs/doc/note.js +2 -2
- package/dist/cjs/doc/pivot-table.js +5 -5
- package/dist/cjs/doc/range.js +11 -11
- package/dist/cjs/doc/row.js +16 -16
- package/dist/cjs/doc/table.js +5 -5
- package/dist/cjs/doc/workbook.base.js +211 -0
- package/dist/cjs/doc/workbook.browser.js +62 -0
- package/dist/cjs/doc/workbook.js +68 -179
- package/dist/cjs/doc/worksheet.js +41 -41
- package/dist/cjs/index.js +49 -32
- package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
- package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
- package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
- package/dist/cjs/stream/xlsx/workbook-reader.js +29 -26
- package/dist/cjs/stream/xlsx/workbook-writer.js +71 -57
- package/dist/cjs/stream/xlsx/worksheet-reader.js +27 -23
- package/dist/cjs/stream/xlsx/worksheet-writer.js +72 -66
- package/dist/cjs/utils/browser-buffer.js +75 -0
- package/dist/cjs/utils/cell-format.js +2 -2
- package/dist/cjs/utils/cell-matrix.js +5 -5
- package/dist/cjs/utils/encryptor.browser.js +240 -0
- package/dist/cjs/utils/parse-sax.js +2 -2
- package/dist/cjs/utils/shared-formula.js +5 -5
- package/dist/cjs/utils/sheet-utils.js +13 -13
- package/dist/cjs/utils/stream-buf.browser.js +355 -0
- package/dist/cjs/utils/stream-buf.js +5 -5
- package/dist/cjs/utils/unzip/extract.js +11 -11
- package/dist/cjs/utils/unzip/index.js +21 -21
- package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
- package/dist/cjs/utils/unzip/parse.js +16 -16
- package/dist/cjs/utils/unzip/zip-parser.js +3 -3
- package/dist/cjs/utils/utils.base.js +161 -0
- package/dist/cjs/utils/utils.browser.js +89 -0
- package/dist/cjs/utils/utils.js +46 -154
- package/dist/cjs/utils/xml-stream.js +3 -3
- package/dist/cjs/utils/zip/compress.base.js +85 -0
- package/dist/cjs/utils/zip/compress.browser.js +83 -0
- package/dist/cjs/utils/zip/compress.js +18 -198
- package/dist/cjs/utils/zip/crc32.browser.js +88 -0
- package/dist/cjs/utils/zip/index.js +17 -17
- package/dist/cjs/utils/zip/zip-builder.js +10 -10
- package/dist/cjs/utils/zip-stream.browser.js +135 -0
- package/dist/cjs/utils/zip-stream.js +4 -4
- package/dist/cjs/xlsx/xform/base-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
- package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
- package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
- package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
- package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
- package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
- package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
- package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
- package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
- package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
- package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
- package/dist/cjs/xlsx/xform/list-xform.js +2 -2
- package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
- package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
- package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
- package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
- package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
- package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
- package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
- package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
- package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +68 -68
- package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
- package/dist/cjs/xlsx/xform/static-xform.js +4 -4
- package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
- package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
- package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
- package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
- package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
- package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
- package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
- package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
- package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
- package/dist/cjs/xlsx/xlsx.base.js +742 -0
- package/dist/cjs/xlsx/xlsx.browser.js +205 -0
- package/dist/cjs/xlsx/xlsx.js +91 -833
- package/dist/esm/csv/csv-core.js +694 -0
- package/dist/esm/csv/csv-stream.js +638 -0
- package/dist/esm/csv/csv.base.js +141 -0
- package/dist/esm/csv/csv.browser.js +65 -0
- package/dist/esm/csv/csv.js +189 -159
- package/dist/esm/doc/workbook.base.js +207 -0
- package/dist/esm/doc/workbook.browser.js +59 -0
- package/dist/esm/doc/workbook.js +64 -175
- package/dist/esm/index.browser.js +33 -1
- package/dist/esm/index.js +23 -8
- package/dist/esm/local.js +0 -1
- package/dist/esm/stream/xlsx/hyperlink-reader.js +1 -1
- package/dist/esm/stream/xlsx/workbook-reader.js +7 -4
- package/dist/esm/stream/xlsx/workbook-writer.js +37 -23
- package/dist/esm/stream/xlsx/worksheet-reader.js +12 -8
- package/dist/esm/stream/xlsx/worksheet-writer.js +12 -6
- package/dist/esm/utils/browser-buffer.js +67 -0
- package/dist/esm/utils/encryptor.browser.js +237 -0
- package/dist/esm/utils/stream-buf.browser.js +352 -0
- package/dist/esm/utils/utils.base.js +142 -0
- package/dist/esm/utils/utils.browser.js +68 -0
- package/dist/esm/utils/utils.js +15 -123
- package/dist/esm/utils/zip/compress.base.js +80 -0
- package/dist/esm/utils/zip/compress.browser.js +76 -0
- package/dist/esm/utils/zip/compress.js +16 -164
- package/dist/esm/utils/zip/crc32.browser.js +82 -0
- package/dist/esm/utils/zip-stream.browser.js +132 -0
- package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
- package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
- package/dist/esm/xlsx/xlsx.base.js +739 -0
- package/dist/esm/xlsx/xlsx.browser.js +202 -0
- package/dist/esm/xlsx/xlsx.js +87 -829
- package/dist/types/csv/csv-core.d.ts +207 -0
- package/dist/types/csv/csv-stream.d.ts +114 -0
- package/dist/types/csv/csv.base.d.ts +61 -0
- package/dist/types/csv/csv.browser.d.ts +33 -0
- package/dist/types/csv/csv.d.ts +97 -71
- package/dist/types/doc/anchor.d.ts +1 -1
- package/dist/types/doc/cell.d.ts +7 -7
- package/dist/types/doc/column.d.ts +3 -3
- package/dist/types/doc/defined-names.d.ts +4 -4
- package/dist/types/doc/image.d.ts +2 -2
- package/dist/types/doc/modelcontainer.d.ts +1 -1
- package/dist/types/doc/pivot-table.d.ts +1 -1
- package/dist/types/doc/range.d.ts +1 -1
- package/dist/types/doc/row.d.ts +3 -3
- package/dist/types/doc/table.d.ts +4 -4
- package/dist/types/doc/workbook.base.d.ts +111 -0
- package/dist/types/doc/workbook.browser.d.ts +38 -0
- package/dist/types/doc/workbook.d.ts +62 -92
- package/dist/types/doc/worksheet.d.ts +10 -10
- package/dist/types/index.browser.d.ts +19 -5
- package/dist/types/index.d.ts +24 -20
- package/dist/types/local.d.ts +0 -1
- package/dist/types/stream/xlsx/hyperlink-reader.d.ts +11 -11
- package/dist/types/stream/xlsx/workbook-reader.d.ts +125 -36
- package/dist/types/stream/xlsx/workbook-writer.d.ts +105 -22
- package/dist/types/stream/xlsx/worksheet-reader.d.ts +40 -22
- package/dist/types/stream/xlsx/worksheet-writer.d.ts +83 -49
- package/dist/types/types.d.ts +4 -16
- package/dist/types/utils/browser-buffer.d.ts +28 -0
- package/dist/types/utils/col-cache.d.ts +1 -1
- package/dist/types/utils/encryptor.browser.d.ts +28 -0
- package/dist/types/utils/sheet-utils.d.ts +3 -3
- package/dist/types/utils/stream-buf.browser.d.ts +41 -0
- package/dist/types/utils/unzip/extract.d.ts +6 -6
- package/dist/types/utils/unzip/index.d.ts +8 -8
- package/dist/types/utils/unzip/parse.d.ts +3 -3
- package/dist/types/utils/utils.base.d.ts +29 -0
- package/dist/types/utils/utils.browser.d.ts +29 -0
- package/dist/types/utils/utils.d.ts +6 -25
- package/dist/types/utils/zip/compress.base.d.ts +42 -0
- package/dist/types/utils/zip/compress.browser.d.ts +54 -0
- package/dist/types/utils/zip/compress.d.ts +13 -45
- package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
- package/dist/types/utils/zip/index.d.ts +5 -5
- package/dist/types/utils/zip/zip-builder.d.ts +1 -1
- package/dist/types/utils/zip-stream.browser.d.ts +39 -0
- package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
- package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
- package/dist/types/xlsx/xlsx.base.d.ts +134 -0
- package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
- package/dist/types/xlsx/xlsx.d.ts +20 -80
- package/package.json +14 -16
package/README.md
CHANGED
|
@@ -104,24 +104,157 @@ cell.fill = {
|
|
|
104
104
|
- Data protection
|
|
105
105
|
- Comments and notes
|
|
106
106
|
|
|
107
|
+
## Streaming API (Node.js)
|
|
108
|
+
|
|
109
|
+
For processing large Excel files without loading them entirely into memory, ExcelTS provides streaming reader and writer APIs.
|
|
110
|
+
|
|
111
|
+
### Streaming Reader
|
|
112
|
+
|
|
113
|
+
Read large XLSX files with minimal memory usage:
|
|
114
|
+
|
|
115
|
+
```javascript
|
|
116
|
+
import { WorkbookReader } from "@cj-tech-master/excelts";
|
|
117
|
+
|
|
118
|
+
// Read from file path
|
|
119
|
+
const reader = new WorkbookReader("large-file.xlsx", {
|
|
120
|
+
worksheets: "emit", // emit worksheet events
|
|
121
|
+
sharedStrings: "cache", // cache shared strings for cell values
|
|
122
|
+
hyperlinks: "ignore", // ignore hyperlinks
|
|
123
|
+
styles: "ignore" // ignore styles for faster parsing
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
for await (const worksheet of reader) {
|
|
127
|
+
console.log(`Reading: ${worksheet.name}`);
|
|
128
|
+
for await (const row of worksheet) {
|
|
129
|
+
console.log(row.values);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Streaming Writer
|
|
135
|
+
|
|
136
|
+
Write large XLSX files row by row:
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
import { WorkbookWriter } from "@cj-tech-master/excelts";
|
|
140
|
+
|
|
141
|
+
const workbook = new WorkbookWriter({
|
|
142
|
+
filename: "output.xlsx",
|
|
143
|
+
useSharedStrings: true,
|
|
144
|
+
useStyles: true
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
const sheet = workbook.addWorksheet("Data");
|
|
148
|
+
|
|
149
|
+
// Write rows one at a time
|
|
150
|
+
for (let i = 0; i < 1000000; i++) {
|
|
151
|
+
sheet.addRow([`Row ${i}`, i, new Date()]).commit();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Commit worksheet and finalize
|
|
155
|
+
sheet.commit();
|
|
156
|
+
await workbook.commit();
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## CSV Support
|
|
160
|
+
|
|
161
|
+
### Node.js (Full Streaming Support)
|
|
162
|
+
|
|
163
|
+
```javascript
|
|
164
|
+
import { Workbook } from "@cj-tech-master/excelts";
|
|
165
|
+
|
|
166
|
+
const workbook = new Workbook();
|
|
167
|
+
|
|
168
|
+
// Read CSV from file (streaming)
|
|
169
|
+
await workbook.csv.readFile("data.csv");
|
|
170
|
+
|
|
171
|
+
// Read CSV from stream
|
|
172
|
+
import fs from "fs";
|
|
173
|
+
const stream = fs.createReadStream("data.csv");
|
|
174
|
+
await workbook.csv.read(stream, { sheetName: "Imported" });
|
|
175
|
+
|
|
176
|
+
// Write CSV to file (streaming)
|
|
177
|
+
await workbook.csv.writeFile("output.csv");
|
|
178
|
+
|
|
179
|
+
// Write CSV to stream
|
|
180
|
+
const writeStream = fs.createWriteStream("output.csv");
|
|
181
|
+
await workbook.csv.write(writeStream);
|
|
182
|
+
|
|
183
|
+
// Write CSV to buffer
|
|
184
|
+
const buffer = await workbook.csv.writeBuffer();
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Browser (In-Memory)
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
import { Workbook } from "@cj-tech-master/excelts";
|
|
191
|
+
|
|
192
|
+
const workbook = new Workbook();
|
|
193
|
+
|
|
194
|
+
// Load CSV from string
|
|
195
|
+
workbook.csv.load(csvString);
|
|
196
|
+
|
|
197
|
+
// Load CSV from ArrayBuffer (e.g., from fetch or file input)
|
|
198
|
+
const response = await fetch("data.csv");
|
|
199
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
200
|
+
workbook.csv.load(arrayBuffer);
|
|
201
|
+
|
|
202
|
+
// Write CSV to string
|
|
203
|
+
const csvOutput = workbook.csv.writeString();
|
|
204
|
+
|
|
205
|
+
// Write CSV to Uint8Array buffer
|
|
206
|
+
const buffer = workbook.csv.writeBuffer();
|
|
207
|
+
```
|
|
208
|
+
|
|
107
209
|
## Browser Support
|
|
108
210
|
|
|
109
|
-
ExcelTS
|
|
211
|
+
ExcelTS has native browser support with **zero configuration** required for modern bundlers.
|
|
212
|
+
|
|
213
|
+
### Using with Bundlers (Vite, Webpack, Rollup, esbuild)
|
|
214
|
+
|
|
215
|
+
Simply import ExcelTS - no polyfills or configuration needed:
|
|
110
216
|
|
|
111
217
|
```javascript
|
|
112
|
-
|
|
113
|
-
import { Workbook } from "@cj-tech-master/excelts/browser";
|
|
218
|
+
import { Workbook } from "@cj-tech-master/excelts";
|
|
114
219
|
|
|
115
220
|
const workbook = new Workbook();
|
|
116
|
-
|
|
221
|
+
const sheet = workbook.addWorksheet("Sheet1");
|
|
222
|
+
sheet.getCell("A1").value = "Hello, Browser!";
|
|
223
|
+
|
|
224
|
+
// Write to buffer and download
|
|
225
|
+
const buffer = await workbook.xlsx.writeBuffer();
|
|
226
|
+
const blob = new Blob([buffer], {
|
|
227
|
+
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
228
|
+
});
|
|
229
|
+
const url = URL.createObjectURL(blob);
|
|
230
|
+
// ... trigger download
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Using with Script Tags (No Bundler)
|
|
234
|
+
|
|
235
|
+
```html
|
|
236
|
+
<script src="https://unpkg.com/@cj-tech-master/excelts/dist/browser/excelts.iife.min.js"></script>
|
|
237
|
+
<script>
|
|
238
|
+
const { Workbook } = ExcelTS;
|
|
239
|
+
const wb = new Workbook();
|
|
240
|
+
// ... use workbook API
|
|
241
|
+
</script>
|
|
117
242
|
```
|
|
118
243
|
|
|
244
|
+
### Browser-Specific Notes
|
|
245
|
+
|
|
246
|
+
- **CSV operations are supported** using native RFC 4180 implementation
|
|
247
|
+
- Use `csv.load(stringOrArrayBuffer)` to read CSV
|
|
248
|
+
- Use `csv.writeString()` or `csv.writeBuffer()` to write CSV
|
|
249
|
+
- Use `xlsx.load(arrayBuffer)` instead of `xlsx.readFile()`
|
|
250
|
+
- Use `xlsx.writeBuffer()` instead of `xlsx.writeFile()`
|
|
251
|
+
- Worksheet protection with passwords is fully supported (pure JS SHA-512)
|
|
252
|
+
|
|
119
253
|
## Requirements
|
|
120
254
|
|
|
121
255
|
### Node.js
|
|
122
256
|
|
|
123
|
-
- **Node.js >=
|
|
124
|
-
- Recommended: Node.js >= 20.0.0 for best performance
|
|
257
|
+
- **Node.js >= 20.0.0** (ES2020 native support)
|
|
125
258
|
|
|
126
259
|
### Browsers (No Polyfills Required)
|
|
127
260
|
|
|
@@ -211,9 +344,9 @@ This project is a fork of ExcelJS with modernization improvements. All credit fo
|
|
|
211
344
|
|
|
212
345
|
## Links
|
|
213
346
|
|
|
214
|
-
- [GitHub Repository](https://github.com/cjnoname/
|
|
347
|
+
- [GitHub Repository](https://github.com/cjnoname/excelts)
|
|
215
348
|
- [Original ExcelJS](https://github.com/exceljs/exceljs)
|
|
216
|
-
- [Issue Tracker](https://github.com/cjnoname/
|
|
349
|
+
- [Issue Tracker](https://github.com/cjnoname/excelts/issues)
|
|
217
350
|
|
|
218
351
|
## Changelog
|
|
219
352
|
|
package/README_zh.md
CHANGED
|
@@ -104,25 +104,157 @@ cell.fill = {
|
|
|
104
104
|
- 数据保护
|
|
105
105
|
- 注释和批注
|
|
106
106
|
|
|
107
|
+
## 流式 API(Node.js)
|
|
108
|
+
|
|
109
|
+
处理大型 Excel 文件时无需将整个文件加载到内存中,ExcelTS 提供了流式读写 API。
|
|
110
|
+
|
|
111
|
+
### 流式读取器
|
|
112
|
+
|
|
113
|
+
以最小内存占用读取大型 XLSX 文件:
|
|
114
|
+
|
|
115
|
+
```javascript
|
|
116
|
+
import { WorkbookReader } from "@cj-tech-master/excelts";
|
|
117
|
+
|
|
118
|
+
// 从文件路径读取
|
|
119
|
+
const reader = new WorkbookReader("large-file.xlsx", {
|
|
120
|
+
worksheets: "emit", // 触发工作表事件
|
|
121
|
+
sharedStrings: "cache", // 缓存共享字符串以获取单元格值
|
|
122
|
+
hyperlinks: "ignore", // 忽略超链接
|
|
123
|
+
styles: "ignore" // 忽略样式以加快解析
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
for await (const worksheet of reader) {
|
|
127
|
+
console.log(`正在读取: ${worksheet.name}`);
|
|
128
|
+
for await (const row of worksheet) {
|
|
129
|
+
console.log(row.values);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 流式写入器
|
|
135
|
+
|
|
136
|
+
逐行写入大型 XLSX 文件:
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
import { WorkbookWriter } from "@cj-tech-master/excelts";
|
|
140
|
+
|
|
141
|
+
const workbook = new WorkbookWriter({
|
|
142
|
+
filename: "output.xlsx",
|
|
143
|
+
useSharedStrings: true,
|
|
144
|
+
useStyles: true
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
const sheet = workbook.addWorksheet("Data");
|
|
148
|
+
|
|
149
|
+
// 逐行写入
|
|
150
|
+
for (let i = 0; i < 1000000; i++) {
|
|
151
|
+
sheet.addRow([`第 ${i} 行`, i, new Date()]).commit();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// 提交工作表并完成
|
|
155
|
+
sheet.commit();
|
|
156
|
+
await workbook.commit();
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## CSV 支持
|
|
160
|
+
|
|
161
|
+
### Node.js(完整流式支持)
|
|
162
|
+
|
|
163
|
+
```javascript
|
|
164
|
+
import { Workbook } from "@cj-tech-master/excelts";
|
|
165
|
+
|
|
166
|
+
const workbook = new Workbook();
|
|
167
|
+
|
|
168
|
+
// 从文件读取 CSV(流式)
|
|
169
|
+
await workbook.csv.readFile("data.csv");
|
|
170
|
+
|
|
171
|
+
// 从流读取 CSV
|
|
172
|
+
import fs from "fs";
|
|
173
|
+
const stream = fs.createReadStream("data.csv");
|
|
174
|
+
await workbook.csv.read(stream, { sheetName: "Imported" });
|
|
175
|
+
|
|
176
|
+
// 写入 CSV 到文件(流式)
|
|
177
|
+
await workbook.csv.writeFile("output.csv");
|
|
178
|
+
|
|
179
|
+
// 写入 CSV 到流
|
|
180
|
+
const writeStream = fs.createWriteStream("output.csv");
|
|
181
|
+
await workbook.csv.write(writeStream);
|
|
182
|
+
|
|
183
|
+
// 写入 CSV 到 buffer
|
|
184
|
+
const buffer = await workbook.csv.writeBuffer();
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 浏览器(内存中)
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
import { Workbook } from "@cj-tech-master/excelts";
|
|
191
|
+
|
|
192
|
+
const workbook = new Workbook();
|
|
193
|
+
|
|
194
|
+
// 从字符串加载 CSV
|
|
195
|
+
workbook.csv.load(csvString);
|
|
196
|
+
|
|
197
|
+
// 从 ArrayBuffer 加载 CSV(例如从 fetch 或文件输入)
|
|
198
|
+
const response = await fetch("data.csv");
|
|
199
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
200
|
+
workbook.csv.load(arrayBuffer);
|
|
201
|
+
|
|
202
|
+
// 写入 CSV 为字符串
|
|
203
|
+
const csvOutput = workbook.csv.writeString();
|
|
204
|
+
|
|
205
|
+
// 写入 CSV 为 Uint8Array buffer
|
|
206
|
+
const buffer = workbook.csv.writeBuffer();
|
|
207
|
+
```
|
|
208
|
+
|
|
107
209
|
## 浏览器支持
|
|
108
210
|
|
|
109
|
-
ExcelTS
|
|
211
|
+
ExcelTS 原生支持浏览器环境,现代打包工具**无需任何配置**。
|
|
212
|
+
|
|
213
|
+
### 在打包工具中使用(Vite, Webpack, Rollup, esbuild)
|
|
214
|
+
|
|
215
|
+
直接导入 ExcelTS - 无需 polyfills 或额外配置:
|
|
110
216
|
|
|
111
|
-
````javascript
|
|
112
217
|
```javascript
|
|
113
|
-
|
|
114
|
-
import { Workbook } from "@cj-tech-master/excelts/browser";
|
|
218
|
+
import { Workbook } from "@cj-tech-master/excelts";
|
|
115
219
|
|
|
116
220
|
const workbook = new Workbook();
|
|
117
|
-
|
|
118
|
-
|
|
221
|
+
const sheet = workbook.addWorksheet("Sheet1");
|
|
222
|
+
sheet.getCell("A1").value = "你好,浏览器!";
|
|
223
|
+
|
|
224
|
+
// 写入 buffer 并下载
|
|
225
|
+
const buffer = await workbook.xlsx.writeBuffer();
|
|
226
|
+
const blob = new Blob([buffer], {
|
|
227
|
+
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
228
|
+
});
|
|
229
|
+
const url = URL.createObjectURL(blob);
|
|
230
|
+
// ... 触发下载
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### 使用 Script 标签(无打包工具)
|
|
234
|
+
|
|
235
|
+
```html
|
|
236
|
+
<script src="https://unpkg.com/@cj-tech-master/excelts/dist/browser/excelts.iife.min.js"></script>
|
|
237
|
+
<script>
|
|
238
|
+
const { Workbook } = ExcelTS;
|
|
239
|
+
const wb = new Workbook();
|
|
240
|
+
// ... 使用 workbook API
|
|
241
|
+
</script>
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### 浏览器版本注意事项
|
|
245
|
+
|
|
246
|
+
- **支持 CSV 操作**(使用原生 RFC 4180 标准实现)
|
|
247
|
+
- 使用 `csv.load(stringOrArrayBuffer)` 读取 CSV
|
|
248
|
+
- 使用 `csv.writeString()` 或 `csv.writeBuffer()` 写入 CSV
|
|
249
|
+
- 使用 `xlsx.load(arrayBuffer)` 代替 `xlsx.readFile()`
|
|
250
|
+
- 使用 `xlsx.writeBuffer()` 代替 `xlsx.writeFile()`
|
|
251
|
+
- 完全支持带密码的工作表保护(纯 JS SHA-512 实现)
|
|
119
252
|
|
|
120
253
|
## 系统要求
|
|
121
254
|
|
|
122
255
|
### Node.js
|
|
123
256
|
|
|
124
|
-
- **Node.js >=
|
|
125
|
-
- 推荐:Node.js >= 20.0.0 以获得最佳性能
|
|
257
|
+
- **Node.js >= 20.0.0**(原生支持 ES2020)
|
|
126
258
|
|
|
127
259
|
### 浏览器(无需 Polyfills)
|
|
128
260
|
|
|
@@ -212,9 +344,9 @@ MIT License
|
|
|
212
344
|
|
|
213
345
|
## 链接
|
|
214
346
|
|
|
215
|
-
- [GitHub 仓库](https://github.com/cjnoname/
|
|
347
|
+
- [GitHub 仓库](https://github.com/cjnoname/excelts)
|
|
216
348
|
- [原始 ExcelJS](https://github.com/exceljs/exceljs)
|
|
217
|
-
- [问题跟踪](https://github.com/cjnoname/
|
|
349
|
+
- [问题跟踪](https://github.com/cjnoname/excelts/issues)
|
|
218
350
|
|
|
219
351
|
## 更新日志
|
|
220
352
|
|