@cj-tech-master/excelts 1.6.2-canary.20251224015244.0b06ae9 → 1.6.3-canary.20251224124621.73c5d94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -18
- package/README_zh.md +31 -19
- package/dist/browser/excelts.esm.js +19115 -0
- package/dist/browser/excelts.esm.js.map +1 -0
- package/dist/browser/excelts.esm.min.js +127 -0
- package/dist/browser/excelts.iife.js +13576 -46968
- package/dist/browser/excelts.iife.js.map +1 -1
- package/dist/browser/excelts.iife.min.js +25 -105
- package/dist/cjs/csv/csv-core.js +701 -0
- package/dist/cjs/csv/csv-stream.js +646 -0
- package/dist/cjs/csv/csv.base.js +154 -0
- package/dist/cjs/csv/csv.browser.js +68 -0
- package/dist/cjs/csv/csv.js +226 -162
- package/dist/cjs/doc/anchor.js +2 -2
- package/dist/cjs/doc/cell.js +22 -22
- package/dist/cjs/doc/column.js +7 -7
- package/dist/cjs/doc/data-validations.js +3 -3
- package/dist/cjs/doc/defined-names.js +13 -13
- package/dist/cjs/doc/image.js +7 -7
- package/dist/cjs/doc/modelcontainer.js +2 -2
- package/dist/cjs/doc/note.js +2 -2
- package/dist/cjs/doc/pivot-table.js +5 -5
- package/dist/cjs/doc/range.js +11 -11
- package/dist/cjs/doc/row.js +16 -16
- package/dist/cjs/doc/table.js +5 -5
- package/dist/cjs/doc/workbook.base.js +211 -0
- package/dist/cjs/doc/workbook.browser.js +62 -0
- package/dist/cjs/doc/workbook.js +68 -179
- package/dist/cjs/doc/worksheet.js +41 -41
- package/dist/cjs/index.js +49 -32
- package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
- package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
- package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
- package/dist/cjs/stream/xlsx/workbook-reader.js +22 -22
- package/dist/cjs/stream/xlsx/workbook-writer.js +34 -34
- package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
- package/dist/cjs/stream/xlsx/worksheet-writer.js +60 -60
- package/dist/cjs/utils/browser-buffer.js +75 -0
- package/dist/cjs/utils/cell-format.js +2 -2
- package/dist/cjs/utils/cell-matrix.js +5 -5
- package/dist/cjs/utils/encryptor.browser.js +240 -0
- package/dist/cjs/utils/parse-sax.js +2 -2
- package/dist/cjs/utils/shared-formula.js +5 -5
- package/dist/cjs/utils/sheet-utils.js +13 -13
- package/dist/cjs/utils/stream-buf.browser.js +355 -0
- package/dist/cjs/utils/stream-buf.js +5 -5
- package/dist/cjs/utils/unzip/extract.js +11 -11
- package/dist/cjs/utils/unzip/index.js +21 -21
- package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
- package/dist/cjs/utils/unzip/parse.js +16 -16
- package/dist/cjs/utils/unzip/zip-parser.js +3 -3
- package/dist/cjs/utils/utils.base.js +161 -0
- package/dist/cjs/utils/utils.browser.js +89 -0
- package/dist/cjs/utils/utils.js +46 -154
- package/dist/cjs/utils/xml-stream.js +3 -3
- package/dist/cjs/utils/zip/compress.base.js +85 -0
- package/dist/cjs/utils/zip/compress.browser.js +83 -0
- package/dist/cjs/utils/zip/compress.js +18 -198
- package/dist/cjs/utils/zip/crc32.browser.js +88 -0
- package/dist/cjs/utils/zip/index.js +17 -17
- package/dist/cjs/utils/zip/zip-builder.js +10 -10
- package/dist/cjs/utils/zip-stream.browser.js +135 -0
- package/dist/cjs/utils/zip-stream.js +4 -4
- package/dist/cjs/xlsx/xform/base-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
- package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
- package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
- package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
- package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
- package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
- package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
- package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
- package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
- package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
- package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
- package/dist/cjs/xlsx/xform/list-xform.js +2 -2
- package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
- package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
- package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
- package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
- package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
- package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
- package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
- package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
- package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +68 -68
- package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
- package/dist/cjs/xlsx/xform/static-xform.js +4 -4
- package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
- package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
- package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
- package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
- package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
- package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
- package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
- package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
- package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
- package/dist/cjs/xlsx/xlsx.base.js +742 -0
- package/dist/cjs/xlsx/xlsx.browser.js +205 -0
- package/dist/cjs/xlsx/xlsx.js +91 -833
- package/dist/esm/csv/csv-core.js +694 -0
- package/dist/esm/csv/csv-stream.js +638 -0
- package/dist/esm/csv/csv.base.js +141 -0
- package/dist/esm/csv/csv.browser.js +65 -0
- package/dist/esm/csv/csv.js +189 -159
- package/dist/esm/doc/workbook.base.js +207 -0
- package/dist/esm/doc/workbook.browser.js +59 -0
- package/dist/esm/doc/workbook.js +64 -175
- package/dist/esm/index.browser.js +33 -1
- package/dist/esm/index.js +23 -8
- package/dist/esm/local.js +0 -1
- package/dist/esm/utils/browser-buffer.js +67 -0
- package/dist/esm/utils/encryptor.browser.js +237 -0
- package/dist/esm/utils/stream-buf.browser.js +352 -0
- package/dist/esm/utils/utils.base.js +142 -0
- package/dist/esm/utils/utils.browser.js +68 -0
- package/dist/esm/utils/utils.js +15 -123
- package/dist/esm/utils/zip/compress.base.js +80 -0
- package/dist/esm/utils/zip/compress.browser.js +76 -0
- package/dist/esm/utils/zip/compress.js +16 -164
- package/dist/esm/utils/zip/crc32.browser.js +82 -0
- package/dist/esm/utils/zip-stream.browser.js +132 -0
- package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
- package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
- package/dist/esm/xlsx/xlsx.base.js +739 -0
- package/dist/esm/xlsx/xlsx.browser.js +202 -0
- package/dist/esm/xlsx/xlsx.js +87 -829
- package/dist/types/csv/csv-core.d.ts +207 -0
- package/dist/types/csv/csv-stream.d.ts +114 -0
- package/dist/types/csv/csv.base.d.ts +61 -0
- package/dist/types/csv/csv.browser.d.ts +33 -0
- package/dist/types/csv/csv.d.ts +97 -71
- package/dist/types/doc/anchor.d.ts +1 -1
- package/dist/types/doc/cell.d.ts +7 -7
- package/dist/types/doc/column.d.ts +3 -3
- package/dist/types/doc/defined-names.d.ts +4 -4
- package/dist/types/doc/image.d.ts +2 -2
- package/dist/types/doc/modelcontainer.d.ts +1 -1
- package/dist/types/doc/pivot-table.d.ts +1 -1
- package/dist/types/doc/range.d.ts +1 -1
- package/dist/types/doc/row.d.ts +3 -3
- package/dist/types/doc/table.d.ts +2 -2
- package/dist/types/doc/workbook.base.d.ts +111 -0
- package/dist/types/doc/workbook.browser.d.ts +38 -0
- package/dist/types/doc/workbook.d.ts +62 -92
- package/dist/types/doc/worksheet.d.ts +10 -10
- package/dist/types/index.browser.d.ts +19 -5
- package/dist/types/index.d.ts +24 -23
- package/dist/types/local.d.ts +0 -1
- package/dist/types/stream/xlsx/hyperlink-reader.d.ts +1 -1
- package/dist/types/stream/xlsx/workbook-reader.d.ts +4 -4
- package/dist/types/stream/xlsx/workbook-writer.d.ts +6 -6
- package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
- package/dist/types/stream/xlsx/worksheet-writer.d.ts +9 -9
- package/dist/types/utils/browser-buffer.d.ts +28 -0
- package/dist/types/utils/col-cache.d.ts +1 -1
- package/dist/types/utils/encryptor.browser.d.ts +28 -0
- package/dist/types/utils/sheet-utils.d.ts +3 -3
- package/dist/types/utils/stream-buf.browser.d.ts +41 -0
- package/dist/types/utils/unzip/extract.d.ts +6 -6
- package/dist/types/utils/unzip/index.d.ts +8 -8
- package/dist/types/utils/unzip/parse.d.ts +3 -3
- package/dist/types/utils/utils.base.d.ts +29 -0
- package/dist/types/utils/utils.browser.d.ts +29 -0
- package/dist/types/utils/utils.d.ts +6 -25
- package/dist/types/utils/zip/compress.base.d.ts +42 -0
- package/dist/types/utils/zip/compress.browser.d.ts +54 -0
- package/dist/types/utils/zip/compress.d.ts +13 -45
- package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
- package/dist/types/utils/zip/index.d.ts +5 -5
- package/dist/types/utils/zip/zip-builder.d.ts +1 -1
- package/dist/types/utils/zip-stream.browser.d.ts +39 -0
- package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
- package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
- package/dist/types/xlsx/xlsx.base.d.ts +134 -0
- package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
- package/dist/types/xlsx/xlsx.d.ts +20 -80
- package/package.json +13 -15
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Browser-compatible Encryptor with pure JS SHA implementations
|
|
4
|
+
* This provides synchronous hash functions for browser compatibility
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.Encryptor = void 0;
|
|
8
|
+
const browser_buffer_1 = require("./browser-buffer");
|
|
9
|
+
// Helper to convert number to little-endian Uint8Array
|
|
10
|
+
function uint32ToLe(num) {
|
|
11
|
+
const bytes = new Uint8Array(4);
|
|
12
|
+
bytes[0] = num & 0xff;
|
|
13
|
+
bytes[1] = (num >> 8) & 0xff;
|
|
14
|
+
bytes[2] = (num >> 16) & 0xff;
|
|
15
|
+
bytes[3] = (num >> 24) & 0xff;
|
|
16
|
+
return bytes;
|
|
17
|
+
}
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Pure JavaScript SHA-512 implementation
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// SHA-512 constants (first 80 primes 2..409)
|
|
22
|
+
const K = new BigUint64Array([
|
|
23
|
+
0x428a2f98d728ae22n,
|
|
24
|
+
0x7137449123ef65cdn,
|
|
25
|
+
0xb5c0fbcfec4d3b2fn,
|
|
26
|
+
0xe9b5dba58189dbb4n,
|
|
27
|
+
0x3956c25bf348b538n,
|
|
28
|
+
0x59f111f1b605d019n,
|
|
29
|
+
0x923f82a4af194f9bn,
|
|
30
|
+
0xab1c5ed5da6d8118n,
|
|
31
|
+
0xd807aa98a3030242n,
|
|
32
|
+
0x12835b0145706fben,
|
|
33
|
+
0x243185be4ee4b28cn,
|
|
34
|
+
0x550c7dc3d5ffb4e2n,
|
|
35
|
+
0x72be5d74f27b896fn,
|
|
36
|
+
0x80deb1fe3b1696b1n,
|
|
37
|
+
0x9bdc06a725c71235n,
|
|
38
|
+
0xc19bf174cf692694n,
|
|
39
|
+
0xe49b69c19ef14ad2n,
|
|
40
|
+
0xefbe4786384f25e3n,
|
|
41
|
+
0x0fc19dc68b8cd5b5n,
|
|
42
|
+
0x240ca1cc77ac9c65n,
|
|
43
|
+
0x2de92c6f592b0275n,
|
|
44
|
+
0x4a7484aa6ea6e483n,
|
|
45
|
+
0x5cb0a9dcbd41fbd4n,
|
|
46
|
+
0x76f988da831153b5n,
|
|
47
|
+
0x983e5152ee66dfabn,
|
|
48
|
+
0xa831c66d2db43210n,
|
|
49
|
+
0xb00327c898fb213fn,
|
|
50
|
+
0xbf597fc7beef0ee4n,
|
|
51
|
+
0xc6e00bf33da88fc2n,
|
|
52
|
+
0xd5a79147930aa725n,
|
|
53
|
+
0x06ca6351e003826fn,
|
|
54
|
+
0x142929670a0e6e70n,
|
|
55
|
+
0x27b70a8546d22ffcn,
|
|
56
|
+
0x2e1b21385c26c926n,
|
|
57
|
+
0x4d2c6dfc5ac42aedn,
|
|
58
|
+
0x53380d139d95b3dfn,
|
|
59
|
+
0x650a73548baf63den,
|
|
60
|
+
0x766a0abb3c77b2a8n,
|
|
61
|
+
0x81c2c92e47edaee6n,
|
|
62
|
+
0x92722c851482353bn,
|
|
63
|
+
0xa2bfe8a14cf10364n,
|
|
64
|
+
0xa81a664bbc423001n,
|
|
65
|
+
0xc24b8b70d0f89791n,
|
|
66
|
+
0xc76c51a30654be30n,
|
|
67
|
+
0xd192e819d6ef5218n,
|
|
68
|
+
0xd69906245565a910n,
|
|
69
|
+
0xf40e35855771202an,
|
|
70
|
+
0x106aa07032bbd1b8n,
|
|
71
|
+
0x19a4c116b8d2d0c8n,
|
|
72
|
+
0x1e376c085141ab53n,
|
|
73
|
+
0x2748774cdf8eeb99n,
|
|
74
|
+
0x34b0bcb5e19b48a8n,
|
|
75
|
+
0x391c0cb3c5c95a63n,
|
|
76
|
+
0x4ed8aa4ae3418acbn,
|
|
77
|
+
0x5b9cca4f7763e373n,
|
|
78
|
+
0x682e6ff3d6b2b8a3n,
|
|
79
|
+
0x748f82ee5defb2fcn,
|
|
80
|
+
0x78a5636f43172f60n,
|
|
81
|
+
0x84c87814a1f0ab72n,
|
|
82
|
+
0x8cc702081a6439ecn,
|
|
83
|
+
0x90befffa23631e28n,
|
|
84
|
+
0xa4506cebde82bde9n,
|
|
85
|
+
0xbef9a3f7b2c67915n,
|
|
86
|
+
0xc67178f2e372532bn,
|
|
87
|
+
0xca273eceea26619cn,
|
|
88
|
+
0xd186b8c721c0c207n,
|
|
89
|
+
0xeada7dd6cde0eb1en,
|
|
90
|
+
0xf57d4f7fee6ed178n,
|
|
91
|
+
0x06f067aa72176fban,
|
|
92
|
+
0x0a637dc5a2c898a6n,
|
|
93
|
+
0x113f9804bef90daen,
|
|
94
|
+
0x1b710b35131c471bn,
|
|
95
|
+
0x28db77f523047d84n,
|
|
96
|
+
0x32caab7b40c72493n,
|
|
97
|
+
0x3c9ebe0a15c9bebcn,
|
|
98
|
+
0x431d67c49c100d4cn,
|
|
99
|
+
0x4cc5d4becb3e42b6n,
|
|
100
|
+
0x597f299cfc657e2an,
|
|
101
|
+
0x5fcb6fab3ad6faecn,
|
|
102
|
+
0x6c44198c4a475817n
|
|
103
|
+
]);
|
|
104
|
+
// Initial hash values for SHA-512
|
|
105
|
+
const H0 = new BigUint64Array([
|
|
106
|
+
0x6a09e667f3bcc908n,
|
|
107
|
+
0xbb67ae8584caa73bn,
|
|
108
|
+
0x3c6ef372fe94f82bn,
|
|
109
|
+
0xa54ff53a5f1d36f1n,
|
|
110
|
+
0x510e527fade682d1n,
|
|
111
|
+
0x9b05688c2b3e6c1fn,
|
|
112
|
+
0x1f83d9abfb41bd6bn,
|
|
113
|
+
0x5be0cd19137e2179n
|
|
114
|
+
]);
|
|
115
|
+
function rotr64(x, n) {
|
|
116
|
+
return ((x >> BigInt(n)) | (x << BigInt(64 - n))) & 0xffffffffffffffffn;
|
|
117
|
+
}
|
|
118
|
+
function sha512(message) {
|
|
119
|
+
// Pre-processing: adding padding bits
|
|
120
|
+
const msgLen = message.length;
|
|
121
|
+
const msgBitLen = BigInt(msgLen * 8);
|
|
122
|
+
// Calculate padding length (message + 1 + padding + 16 bytes for length) should be multiple of 128
|
|
123
|
+
const padLen = (128 - ((msgLen + 17) % 128)) % 128;
|
|
124
|
+
const paddedLen = msgLen + 1 + padLen + 16;
|
|
125
|
+
const padded = new Uint8Array(paddedLen);
|
|
126
|
+
padded.set(message);
|
|
127
|
+
padded[msgLen] = 0x80;
|
|
128
|
+
// Append original length in bits as 128-bit big-endian (we only use lower 64 bits)
|
|
129
|
+
const view = new DataView(padded.buffer);
|
|
130
|
+
// Upper 64 bits (always 0 for messages < 2^64 bits)
|
|
131
|
+
view.setBigUint64(paddedLen - 16, 0n, false);
|
|
132
|
+
// Lower 64 bits
|
|
133
|
+
view.setBigUint64(paddedLen - 8, msgBitLen, false);
|
|
134
|
+
// Initialize hash values
|
|
135
|
+
const H = new BigUint64Array(H0);
|
|
136
|
+
// Process message in 1024-bit (128-byte) chunks
|
|
137
|
+
const W = new BigUint64Array(80);
|
|
138
|
+
for (let chunkStart = 0; chunkStart < paddedLen; chunkStart += 128) {
|
|
139
|
+
const chunkView = new DataView(padded.buffer, chunkStart, 128);
|
|
140
|
+
// Copy chunk into first 16 words W[0..15]
|
|
141
|
+
for (let i = 0; i < 16; i++) {
|
|
142
|
+
W[i] = chunkView.getBigUint64(i * 8, false);
|
|
143
|
+
}
|
|
144
|
+
// Extend the first 16 words into the remaining 64 words W[16..79]
|
|
145
|
+
for (let i = 16; i < 80; i++) {
|
|
146
|
+
const s0 = rotr64(W[i - 15], 1) ^ rotr64(W[i - 15], 8) ^ (W[i - 15] >> 7n);
|
|
147
|
+
const s1 = rotr64(W[i - 2], 19) ^ rotr64(W[i - 2], 61) ^ (W[i - 2] >> 6n);
|
|
148
|
+
W[i] = (W[i - 16] + s0 + W[i - 7] + s1) & 0xffffffffffffffffn;
|
|
149
|
+
}
|
|
150
|
+
// Initialize working variables
|
|
151
|
+
let a = H[0], b = H[1], c = H[2], d = H[3];
|
|
152
|
+
let e = H[4], f = H[5], g = H[6], h = H[7];
|
|
153
|
+
// Main loop
|
|
154
|
+
for (let i = 0; i < 80; i++) {
|
|
155
|
+
const S1 = rotr64(e, 14) ^ rotr64(e, 18) ^ rotr64(e, 41);
|
|
156
|
+
const ch = (e & f) ^ (~e & g);
|
|
157
|
+
const temp1 = (h + S1 + ch + K[i] + W[i]) & 0xffffffffffffffffn;
|
|
158
|
+
const S0 = rotr64(a, 28) ^ rotr64(a, 34) ^ rotr64(a, 39);
|
|
159
|
+
const maj = (a & b) ^ (a & c) ^ (b & c);
|
|
160
|
+
const temp2 = (S0 + maj) & 0xffffffffffffffffn;
|
|
161
|
+
h = g;
|
|
162
|
+
g = f;
|
|
163
|
+
f = e;
|
|
164
|
+
e = (d + temp1) & 0xffffffffffffffffn;
|
|
165
|
+
d = c;
|
|
166
|
+
c = b;
|
|
167
|
+
b = a;
|
|
168
|
+
a = (temp1 + temp2) & 0xffffffffffffffffn;
|
|
169
|
+
}
|
|
170
|
+
// Add compressed chunk to current hash value
|
|
171
|
+
H[0] = (H[0] + a) & 0xffffffffffffffffn;
|
|
172
|
+
H[1] = (H[1] + b) & 0xffffffffffffffffn;
|
|
173
|
+
H[2] = (H[2] + c) & 0xffffffffffffffffn;
|
|
174
|
+
H[3] = (H[3] + d) & 0xffffffffffffffffn;
|
|
175
|
+
H[4] = (H[4] + e) & 0xffffffffffffffffn;
|
|
176
|
+
H[5] = (H[5] + f) & 0xffffffffffffffffn;
|
|
177
|
+
H[6] = (H[6] + g) & 0xffffffffffffffffn;
|
|
178
|
+
H[7] = (H[7] + h) & 0xffffffffffffffffn;
|
|
179
|
+
}
|
|
180
|
+
// Produce the final hash value (big-endian)
|
|
181
|
+
const result = new Uint8Array(64);
|
|
182
|
+
const resultView = new DataView(result.buffer);
|
|
183
|
+
for (let i = 0; i < 8; i++) {
|
|
184
|
+
resultView.setBigUint64(i * 8, H[i], false);
|
|
185
|
+
}
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
// ============================================================================
|
|
189
|
+
// Encryptor implementation
|
|
190
|
+
// ============================================================================
|
|
191
|
+
const Encryptor = {
|
|
192
|
+
/**
|
|
193
|
+
* Calculate a hash of the concatenated buffers with the given algorithm.
|
|
194
|
+
* @param algorithm - The hash algorithm.
|
|
195
|
+
* @returns The hash as Uint8Array
|
|
196
|
+
*/
|
|
197
|
+
hash(algorithm, ...buffers) {
|
|
198
|
+
const data = (0, browser_buffer_1.concatUint8Arrays)(...buffers);
|
|
199
|
+
const algo = algorithm.toLowerCase().replace("-", "");
|
|
200
|
+
if (algo === "sha512") {
|
|
201
|
+
return sha512(data);
|
|
202
|
+
}
|
|
203
|
+
throw new Error(`Hash algorithm '${algorithm}' not supported in browser sync mode!`);
|
|
204
|
+
},
|
|
205
|
+
/**
|
|
206
|
+
* Convert a password into an encryption key
|
|
207
|
+
* @param password - The password
|
|
208
|
+
* @param hashAlgorithm - The hash algorithm
|
|
209
|
+
* @param saltValue - The salt value (base64 encoded)
|
|
210
|
+
* @param spinCount - The spin count
|
|
211
|
+
* @returns The encryption key (base64 encoded)
|
|
212
|
+
*/
|
|
213
|
+
convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {
|
|
214
|
+
const algo = hashAlgorithm.toLowerCase().replace("-", "");
|
|
215
|
+
if (algo !== "sha512") {
|
|
216
|
+
throw new Error(`Hash algorithm '${hashAlgorithm}' not supported in browser!`);
|
|
217
|
+
}
|
|
218
|
+
// Password must be in unicode buffer (UTF-16LE)
|
|
219
|
+
const passwordBuffer = (0, browser_buffer_1.stringToUtf16Le)(password);
|
|
220
|
+
// Generate the initial hash
|
|
221
|
+
const saltBuffer = (0, browser_buffer_1.base64ToUint8Array)(saltValue);
|
|
222
|
+
let key = this.hash(hashAlgorithm, saltBuffer, passwordBuffer);
|
|
223
|
+
// Now regenerate until spin count
|
|
224
|
+
for (let i = 0; i < spinCount; i++) {
|
|
225
|
+
const iterator = uint32ToLe(i);
|
|
226
|
+
key = this.hash(hashAlgorithm, key, iterator);
|
|
227
|
+
}
|
|
228
|
+
return (0, browser_buffer_1.uint8ArrayToBase64)(key);
|
|
229
|
+
},
|
|
230
|
+
/**
|
|
231
|
+
* Generates cryptographically strong pseudo-random data.
|
|
232
|
+
* @param size The size argument is a number indicating the number of bytes to generate.
|
|
233
|
+
*/
|
|
234
|
+
randomBytes(size) {
|
|
235
|
+
const bytes = new browser_buffer_1.BrowserBuffer(size);
|
|
236
|
+
crypto.getRandomValues(bytes);
|
|
237
|
+
return bytes;
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
exports.Encryptor = Encryptor;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseSax = parseSax;
|
|
4
4
|
const saxes_1 = require("saxes");
|
|
5
|
-
const
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
6
|
async function* parseSax(iterable) {
|
|
7
7
|
const saxesParser = new saxes_1.SaxesParser({
|
|
8
8
|
xmlns: false,
|
|
@@ -17,7 +17,7 @@ async function* parseSax(iterable) {
|
|
|
17
17
|
saxesParser.on("text", (value) => events.push({ eventType: "text", value }));
|
|
18
18
|
saxesParser.on("closetag", (value) => events.push({ eventType: "closetag", value }));
|
|
19
19
|
for await (const chunk of iterable) {
|
|
20
|
-
saxesParser.write((0,
|
|
20
|
+
saxesParser.write((0, utils_1.bufferToString)(chunk));
|
|
21
21
|
// saxesParser.write and saxesParser.on() are synchronous,
|
|
22
22
|
// so we can only reach the below line once all events have been emitted
|
|
23
23
|
if (error) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.slideFormula = slideFormula;
|
|
4
|
-
const
|
|
4
|
+
const col_cache_1 = require("./col-cache");
|
|
5
5
|
// const cellRefRegex = /(([a-z_\-0-9]*)!)?[$]?([a-z]+)[$]?([1-9][0-9]*)/i;
|
|
6
6
|
const replacementCandidateRx = /(([a-z_\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi;
|
|
7
7
|
const CRrx = /^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;
|
|
8
8
|
function slideFormula(formula, fromCell, toCell) {
|
|
9
|
-
const offset =
|
|
10
|
-
const to =
|
|
9
|
+
const offset = col_cache_1.colCache.decode(fromCell);
|
|
10
|
+
const to = col_cache_1.colCache.decode(toCell);
|
|
11
11
|
return formula.replace(replacementCandidateRx, (refMatch, sheet, sheetMaybe, addrPart, trailingParen) => {
|
|
12
12
|
if (trailingParen) {
|
|
13
13
|
return refMatch;
|
|
@@ -22,7 +22,7 @@ function slideFormula(formula, fromCell, toCell) {
|
|
|
22
22
|
// > XFD is the highest col number in excel 2007 and beyond, so this is a named range
|
|
23
23
|
return refMatch;
|
|
24
24
|
}
|
|
25
|
-
let col =
|
|
25
|
+
let col = col_cache_1.colCache.l2n(colStr);
|
|
26
26
|
let row = parseInt(rowStr, 10);
|
|
27
27
|
if (!colDollar) {
|
|
28
28
|
col += to.col - offset.col;
|
|
@@ -30,7 +30,7 @@ function slideFormula(formula, fromCell, toCell) {
|
|
|
30
30
|
if (!rowDollar) {
|
|
31
31
|
row += to.row - offset.row;
|
|
32
32
|
}
|
|
33
|
-
const res = (sheet || "") + (colDollar || "") +
|
|
33
|
+
const res = (sheet || "") + (colDollar || "") + col_cache_1.colCache.n2l(col) + (rowDollar || "") + row;
|
|
34
34
|
return res;
|
|
35
35
|
}
|
|
36
36
|
return refMatch;
|
|
@@ -22,9 +22,9 @@ exports.bookAppendSheet = bookAppendSheet;
|
|
|
22
22
|
exports.aoaToSheet = aoaToSheet;
|
|
23
23
|
exports.sheetAddAoa = sheetAddAoa;
|
|
24
24
|
exports.sheetToAoa = sheetToAoa;
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
25
|
+
const workbook_1 = require("../doc/workbook");
|
|
26
|
+
const col_cache_1 = require("./col-cache");
|
|
27
|
+
const cell_format_1 = require("./cell-format");
|
|
28
28
|
/**
|
|
29
29
|
* Convert a Date object back to Excel serial number without timezone issues.
|
|
30
30
|
* This reverses the excelToDate conversion exactly.
|
|
@@ -113,15 +113,15 @@ function formatValue(value, fmt, dateFormat) {
|
|
|
113
113
|
if (serial < 0) {
|
|
114
114
|
serial += 1;
|
|
115
115
|
}
|
|
116
|
-
return (0,
|
|
116
|
+
return (0, cell_format_1.format)(fmt, serial);
|
|
117
117
|
}
|
|
118
118
|
// Only apply dateFormat override to actual date formats
|
|
119
119
|
// (not elapsed time formats like [h]:mm:ss)
|
|
120
120
|
const actualFmt = dateFormat && isDateFormat(fmt) ? dateFormat : fmt;
|
|
121
|
-
return (0,
|
|
121
|
+
return (0, cell_format_1.format)(actualFmt, serial);
|
|
122
122
|
}
|
|
123
123
|
// Number/Boolean/String - let cellFormat handle it
|
|
124
|
-
return (0,
|
|
124
|
+
return (0, cell_format_1.format)(fmt, value);
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
127
|
* Get formatted display text for a cell value
|
|
@@ -170,14 +170,14 @@ function getCellDisplayText(cell, dateFormat) {
|
|
|
170
170
|
* @example decodeCol("A") => 0, decodeCol("Z") => 25, decodeCol("AA") => 26
|
|
171
171
|
*/
|
|
172
172
|
function decodeCol(colstr) {
|
|
173
|
-
return
|
|
173
|
+
return col_cache_1.colCache.l2n(colstr.toUpperCase()) - 1;
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
176
176
|
* Encode 0-indexed column number to string
|
|
177
177
|
* @example encodeCol(0) => "A", encodeCol(25) => "Z", encodeCol(26) => "AA"
|
|
178
178
|
*/
|
|
179
179
|
function encodeCol(col) {
|
|
180
|
-
return
|
|
180
|
+
return col_cache_1.colCache.n2l(col + 1);
|
|
181
181
|
}
|
|
182
182
|
/**
|
|
183
183
|
* Decode row string to 0-indexed number
|
|
@@ -198,7 +198,7 @@ function encodeRow(row) {
|
|
|
198
198
|
* @example decodeCell("A1") => {c: 0, r: 0}, decodeCell("B2") => {c: 1, r: 1}
|
|
199
199
|
*/
|
|
200
200
|
function decodeCell(cstr) {
|
|
201
|
-
const addr =
|
|
201
|
+
const addr = col_cache_1.colCache.decodeAddress(cstr.toUpperCase());
|
|
202
202
|
return { c: addr.col - 1, r: addr.row - 1 };
|
|
203
203
|
}
|
|
204
204
|
/**
|
|
@@ -206,7 +206,7 @@ function decodeCell(cstr) {
|
|
|
206
206
|
* @example encodeCell({c: 0, r: 0}) => "A1", encodeCell({c: 1, r: 1}) => "B2"
|
|
207
207
|
*/
|
|
208
208
|
function encodeCell(cell) {
|
|
209
|
-
return
|
|
209
|
+
return col_cache_1.colCache.encodeAddress(cell.r + 1, cell.c + 1);
|
|
210
210
|
}
|
|
211
211
|
/**
|
|
212
212
|
* Decode range string to Range object
|
|
@@ -241,7 +241,7 @@ function encodeRange(startOrRange, end) {
|
|
|
241
241
|
function jsonToSheet(data, opts) {
|
|
242
242
|
const o = opts || {};
|
|
243
243
|
// Create a temporary workbook to get a worksheet
|
|
244
|
-
const tempWb = new
|
|
244
|
+
const tempWb = new workbook_1.Workbook();
|
|
245
245
|
const worksheet = tempWb.addWorksheet("Sheet1");
|
|
246
246
|
if (data.length === 0) {
|
|
247
247
|
return worksheet;
|
|
@@ -573,7 +573,7 @@ function sheetToCsv(worksheet, opts) {
|
|
|
573
573
|
* Create a new workbook
|
|
574
574
|
*/
|
|
575
575
|
function bookNew() {
|
|
576
|
-
return new
|
|
576
|
+
return new workbook_1.Workbook();
|
|
577
577
|
}
|
|
578
578
|
/**
|
|
579
579
|
* Append worksheet to workbook (xlsx compatible)
|
|
@@ -610,7 +610,7 @@ function bookAppendSheet(workbook, worksheet, name) {
|
|
|
610
610
|
* const ws = aoaToSheet([["Name", "Age"], ["Alice", 30], ["Bob", 25]])
|
|
611
611
|
*/
|
|
612
612
|
function aoaToSheet(data, opts) {
|
|
613
|
-
const tempWb = new
|
|
613
|
+
const tempWb = new workbook_1.Workbook();
|
|
614
614
|
const worksheet = tempWb.addWorksheet("Sheet1");
|
|
615
615
|
if (data.length === 0) {
|
|
616
616
|
return worksheet;
|