@cj-tech-master/excelts 5.0.6 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.browser.d.ts +1 -1
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/modules/archive/unzip/stream.base.js +19 -19
- package/dist/browser/modules/archive/unzip/stream.browser.js +3 -3
- package/dist/browser/modules/csv/csv-core.js +6 -3
- package/dist/browser/modules/csv/csv.browser.js +2 -2
- package/dist/browser/modules/csv/csv.js +1 -1
- package/dist/browser/modules/excel/anchor.js +4 -4
- package/dist/browser/modules/excel/cell.js +5 -5
- package/dist/browser/modules/excel/column.js +4 -4
- package/dist/browser/modules/excel/defined-names.js +1 -1
- package/dist/browser/modules/excel/form-control.js +1 -1
- package/dist/browser/modules/excel/pivot-table.d.ts +168 -17
- package/dist/browser/modules/excel/pivot-table.js +278 -70
- package/dist/browser/modules/excel/row.js +4 -4
- package/dist/browser/modules/excel/stream/workbook-reader.browser.js +4 -4
- package/dist/browser/modules/excel/stream/workbook-writer.browser.js +4 -4
- package/dist/browser/modules/excel/stream/worksheet-reader.js +1 -1
- package/dist/browser/modules/excel/stream/worksheet-writer.js +4 -4
- package/dist/browser/modules/excel/table.js +2 -2
- package/dist/browser/modules/excel/types.d.ts +0 -4
- package/dist/browser/modules/excel/utils/cell-format.js +3 -3
- package/dist/browser/modules/excel/utils/shared-formula.js +1 -1
- package/dist/browser/modules/excel/utils/stream-buf.js +2 -2
- package/dist/browser/modules/excel/utils/string-buf.js +1 -1
- package/dist/browser/modules/excel/workbook.d.ts +0 -2
- package/dist/browser/modules/excel/workbook.js +4 -5
- package/dist/browser/modules/excel/worksheet.js +9 -9
- package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +5 -5
- package/dist/browser/modules/excel/xlsx/xform/base-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
- package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +3 -4
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
- package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/list-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +5 -15
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +134 -52
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +14 -15
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.js +244 -70
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +13 -29
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +213 -37
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +7 -34
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +143 -41
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +101 -27
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.d.ts +78 -0
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +149 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
- package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
- package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
- package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
- package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
- package/dist/browser/modules/excel/xlsx/xform/style/color-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/style/style-xform.js +5 -5
- package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -2
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +5 -2
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +88 -54
- package/dist/browser/utils/env.d.ts +0 -5
- package/dist/browser/utils/env.js +0 -7
- package/dist/browser/utils/utils.base.d.ts +8 -13
- package/dist/browser/utils/utils.base.js +40 -47
- package/dist/browser/utils/utils.browser.d.ts +1 -1
- package/dist/browser/utils/utils.browser.js +1 -1
- package/dist/browser/utils/utils.d.ts +1 -1
- package/dist/browser/utils/utils.js +1 -1
- package/dist/cjs/modules/archive/unzip/stream.base.js +19 -19
- package/dist/cjs/modules/archive/unzip/stream.browser.js +3 -3
- package/dist/cjs/modules/csv/csv-core.js +6 -3
- package/dist/cjs/modules/csv/csv.browser.js +2 -2
- package/dist/cjs/modules/csv/csv.js +1 -1
- package/dist/cjs/modules/excel/anchor.js +4 -4
- package/dist/cjs/modules/excel/cell.js +5 -5
- package/dist/cjs/modules/excel/column.js +4 -4
- package/dist/cjs/modules/excel/defined-names.js +1 -1
- package/dist/cjs/modules/excel/form-control.js +1 -1
- package/dist/cjs/modules/excel/pivot-table.js +280 -70
- package/dist/cjs/modules/excel/row.js +4 -4
- package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +4 -4
- package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +4 -4
- package/dist/cjs/modules/excel/stream/worksheet-reader.js +1 -1
- package/dist/cjs/modules/excel/stream/worksheet-writer.js +4 -4
- package/dist/cjs/modules/excel/table.js +2 -2
- package/dist/cjs/modules/excel/utils/cell-format.js +3 -3
- package/dist/cjs/modules/excel/utils/shared-formula.js +1 -1
- package/dist/cjs/modules/excel/utils/stream-buf.js +2 -2
- package/dist/cjs/modules/excel/utils/string-buf.js +1 -1
- package/dist/cjs/modules/excel/workbook.js +4 -5
- package/dist/cjs/modules/excel/worksheet.js +9 -9
- package/dist/cjs/modules/excel/xlsx/xform/base-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/cjs/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
- package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
- package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/core/app-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
- package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +133 -51
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field.js +245 -71
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +212 -36
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +142 -40
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +153 -0
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
- package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
- package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
- package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
- package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
- package/dist/cjs/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
- package/dist/cjs/modules/excel/xlsx/xform/style/color-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/style/style-xform.js +5 -5
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +88 -54
- package/dist/cjs/utils/env.js +0 -8
- package/dist/cjs/utils/utils.base.js +41 -54
- package/dist/cjs/utils/utils.browser.js +2 -7
- package/dist/cjs/utils/utils.js +2 -7
- package/dist/esm/modules/archive/unzip/stream.base.js +19 -19
- package/dist/esm/modules/archive/unzip/stream.browser.js +3 -3
- package/dist/esm/modules/csv/csv-core.js +6 -3
- package/dist/esm/modules/csv/csv.browser.js +2 -2
- package/dist/esm/modules/csv/csv.js +1 -1
- package/dist/esm/modules/excel/anchor.js +4 -4
- package/dist/esm/modules/excel/cell.js +5 -5
- package/dist/esm/modules/excel/column.js +4 -4
- package/dist/esm/modules/excel/defined-names.js +1 -1
- package/dist/esm/modules/excel/form-control.js +1 -1
- package/dist/esm/modules/excel/pivot-table.js +278 -70
- package/dist/esm/modules/excel/row.js +4 -4
- package/dist/esm/modules/excel/stream/workbook-reader.browser.js +4 -4
- package/dist/esm/modules/excel/stream/workbook-writer.browser.js +4 -4
- package/dist/esm/modules/excel/stream/worksheet-reader.js +1 -1
- package/dist/esm/modules/excel/stream/worksheet-writer.js +4 -4
- package/dist/esm/modules/excel/table.js +2 -2
- package/dist/esm/modules/excel/utils/cell-format.js +3 -3
- package/dist/esm/modules/excel/utils/shared-formula.js +1 -1
- package/dist/esm/modules/excel/utils/stream-buf.js +2 -2
- package/dist/esm/modules/excel/utils/string-buf.js +1 -1
- package/dist/esm/modules/excel/workbook.js +4 -5
- package/dist/esm/modules/excel/worksheet.js +9 -9
- package/dist/esm/modules/excel/xlsx/xform/base-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/esm/modules/excel/xlsx/xform/book/workbook-view-xform.js +4 -4
- package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +16 -4
- package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/core/app-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +24 -11
- package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/list-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +134 -52
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field.js +244 -70
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +213 -37
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +143 -41
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +793 -408
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.js +149 -0
- package/dist/esm/modules/excel/xlsx/xform/sheet/cell-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/sheet/col-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/sheet/data-validations-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/sheet/header-footer-xform.js +6 -6
- package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-xform.js +11 -11
- package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +3 -3
- package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +10 -10
- package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +12 -12
- package/dist/esm/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +2 -2
- package/dist/esm/modules/excel/xlsx/xform/style/color-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/style/style-xform.js +5 -5
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +88 -54
- package/dist/esm/utils/env.js +0 -7
- package/dist/esm/utils/utils.base.js +40 -47
- package/dist/esm/utils/utils.browser.js +1 -1
- package/dist/esm/utils/utils.js +1 -1
- package/dist/iife/excelts.iife.js +1553 -718
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +36 -105
- package/dist/types/index.browser.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/modules/excel/pivot-table.d.ts +168 -17
- package/dist/types/modules/excel/types.d.ts +0 -4
- package/dist/types/modules/excel/workbook.d.ts +0 -2
- package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +5 -5
- package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +3 -4
- package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +5 -15
- package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +14 -15
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +13 -29
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +7 -34
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +101 -27
- package/dist/types/modules/excel/xlsx/xform/pivot-table/raw-xml-collector.d.ts +78 -0
- package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -2
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +5 -2
- package/dist/types/utils/env.d.ts +0 -5
- package/dist/types/utils/utils.base.d.ts +8 -13
- package/dist/types/utils/utils.browser.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ export { DataValidations } from "@excel/data-validations";
|
|
|
15
15
|
export { FormCheckbox } from "@excel/form-control";
|
|
16
16
|
export * from "@excel/enums";
|
|
17
17
|
export * from "@excel/types";
|
|
18
|
-
export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "@excel/pivot-table";
|
|
18
|
+
export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "@excel/pivot-table";
|
|
19
19
|
export type { FormCheckboxModel, FormCheckboxOptions, FormControlRange, FormControlAnchor } from "@excel/form-control";
|
|
20
20
|
import { WorkbookWriter } from "@excel/stream/workbook-writer.browser";
|
|
21
21
|
import { WorkbookReader } from "@excel/stream/workbook-reader.browser";
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { WorksheetWriter } from "@excel/stream/worksheet-writer";
|
|
|
15
15
|
export { WorksheetReader } from "@excel/stream/worksheet-reader";
|
|
16
16
|
export * from "@excel/enums";
|
|
17
17
|
export * from "@excel/types";
|
|
18
|
-
export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "@excel/pivot-table";
|
|
18
|
+
export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "@excel/pivot-table";
|
|
19
19
|
export type { FormCheckboxModel, FormCheckboxOptions, FormControlRange, FormControlAnchor } from "@excel/form-control";
|
|
20
20
|
export type { WorkbookReaderOptions, ParseEvent, SharedStringEvent, WorksheetReadyEvent, HyperlinksEvent } from "@excel/stream/workbook-reader";
|
|
21
21
|
export type { WorksheetReaderOptions, WorksheetEvent, RowEvent, HyperlinkEvent, WorksheetHyperlink } from "@excel/stream/worksheet-reader";
|
|
@@ -66,7 +66,7 @@ export function decodeZipEntryPath(pathBuffer) {
|
|
|
66
66
|
return textDecoder.decode(pathBuffer);
|
|
67
67
|
}
|
|
68
68
|
export function isZipUnicodeFlag(flags) {
|
|
69
|
-
return ((flags
|
|
69
|
+
return ((flags ?? 0) & 0x800) !== 0;
|
|
70
70
|
}
|
|
71
71
|
export function isZipDirectoryPath(path) {
|
|
72
72
|
if (path.length === 0) {
|
|
@@ -88,8 +88,8 @@ export function buildZipEntryProps(path, pathBuffer, flags) {
|
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
export function resolveZipEntryLastModifiedDateTime(vars, extraFields) {
|
|
91
|
-
const dosDate = vars.lastModifiedDate
|
|
92
|
-
const dosTime = vars.lastModifiedTime
|
|
91
|
+
const dosDate = vars.lastModifiedDate ?? 0;
|
|
92
|
+
const dosTime = vars.lastModifiedTime ?? 0;
|
|
93
93
|
const dosDateTime = parseDosDateTimeUTC(dosDate, dosTime);
|
|
94
94
|
const unixSecondsMtime = extraFields.mtimeUnixSeconds;
|
|
95
95
|
if (unixSecondsMtime === undefined) {
|
|
@@ -99,10 +99,10 @@ export function resolveZipEntryLastModifiedDateTime(vars, extraFields) {
|
|
|
99
99
|
}
|
|
100
100
|
export const parseExtraField = parseZipExtraFields;
|
|
101
101
|
export function hasDataDescriptorFlag(flags) {
|
|
102
|
-
return ((flags
|
|
102
|
+
return ((flags ?? 0) & 0x08) !== 0;
|
|
103
103
|
}
|
|
104
104
|
export function isFileSizeKnown(flags, compressedSize) {
|
|
105
|
-
return !hasDataDescriptorFlag(flags) || (compressedSize
|
|
105
|
+
return !hasDataDescriptorFlag(flags) || (compressedSize ?? 0) > 0;
|
|
106
106
|
}
|
|
107
107
|
export function autodrain(stream) {
|
|
108
108
|
const draining = stream.pipe(new Transform({
|
|
@@ -399,8 +399,8 @@ export class PullStream extends Duplex {
|
|
|
399
399
|
export async function readCrxHeader(pull) {
|
|
400
400
|
const data = await pull(12);
|
|
401
401
|
const header = data.length >= 12 ? parseCrxHeaderFast(data) : parseBuffer(data, CRX_HEADER_FORMAT);
|
|
402
|
-
const pubKeyLength = header.pubKeyLength
|
|
403
|
-
const signatureLength = header.signatureLength
|
|
402
|
+
const pubKeyLength = header.pubKeyLength ?? 0;
|
|
403
|
+
const signatureLength = header.signatureLength ?? 0;
|
|
404
404
|
const keyAndSig = await pull(pubKeyLength + signatureLength);
|
|
405
405
|
header.publicKey = keyAndSig.subarray(0, pubKeyLength);
|
|
406
406
|
header.signature = keyAndSig.subarray(pubKeyLength);
|
|
@@ -411,8 +411,8 @@ export async function readLocalFileHeader(pull) {
|
|
|
411
411
|
const vars = data.length >= 26
|
|
412
412
|
? parseLocalFileHeaderVarsFast(data)
|
|
413
413
|
: parseBuffer(data, LOCAL_FILE_HEADER_FORMAT);
|
|
414
|
-
const fileNameBuffer = await pull(vars.fileNameLength
|
|
415
|
-
const extraFieldData = await pull(vars.extraFieldLength
|
|
414
|
+
const fileNameBuffer = await pull(vars.fileNameLength ?? 0);
|
|
415
|
+
const extraFieldData = await pull(vars.extraFieldLength ?? 0);
|
|
416
416
|
return { vars, fileNameBuffer, extraFieldData };
|
|
417
417
|
}
|
|
418
418
|
export async function readDataDescriptor(pull) {
|
|
@@ -424,14 +424,14 @@ export async function readDataDescriptor(pull) {
|
|
|
424
424
|
export async function consumeCentralDirectoryFileHeader(pull) {
|
|
425
425
|
const data = await pull(42);
|
|
426
426
|
const vars = parseBuffer(data, CENTRAL_DIRECTORY_FILE_HEADER_FORMAT);
|
|
427
|
-
await pull(vars.fileNameLength
|
|
428
|
-
await pull(vars.extraFieldLength
|
|
429
|
-
await pull(vars.fileCommentLength
|
|
427
|
+
await pull(vars.fileNameLength ?? 0);
|
|
428
|
+
await pull(vars.extraFieldLength ?? 0);
|
|
429
|
+
await pull(vars.fileCommentLength ?? 0);
|
|
430
430
|
}
|
|
431
431
|
export async function consumeEndOfCentralDirectoryRecord(pull) {
|
|
432
432
|
const data = await pull(18);
|
|
433
433
|
const vars = parseBuffer(data, END_OF_CENTRAL_DIRECTORY_FORMAT);
|
|
434
|
-
await pull(vars.commentLength
|
|
434
|
+
await pull(vars.commentLength ?? 0);
|
|
435
435
|
}
|
|
436
436
|
// =============================================================================
|
|
437
437
|
// Validated Data Descriptor Scan (shared by Node + Browser)
|
|
@@ -943,7 +943,7 @@ async function readFileRecord(opts, io, emitter, inflateFactory, state, threshol
|
|
|
943
943
|
};
|
|
944
944
|
entry.path = fileName;
|
|
945
945
|
entry.props = buildZipEntryProps(fileName, fileNameBuffer, vars.flags);
|
|
946
|
-
entry.type = getZipEntryType(fileName, vars.uncompressedSize
|
|
946
|
+
entry.type = getZipEntryType(fileName, vars.uncompressedSize ?? 0);
|
|
947
947
|
if (opts.verbose) {
|
|
948
948
|
if (entry.type === "Directory") {
|
|
949
949
|
console.log(" creating:", fileName);
|
|
@@ -964,7 +964,7 @@ async function readFileRecord(opts, io, emitter, inflateFactory, state, threshol
|
|
|
964
964
|
entry.__autodraining = autodraining;
|
|
965
965
|
const fileSizeKnown = isFileSizeKnown(vars.flags, vars.compressedSize);
|
|
966
966
|
if (fileSizeKnown) {
|
|
967
|
-
entry.size = vars.uncompressedSize
|
|
967
|
+
entry.size = vars.uncompressedSize ?? 0;
|
|
968
968
|
}
|
|
969
969
|
if (opts.forceStream) {
|
|
970
970
|
emitter.pushEntry(entry);
|
|
@@ -991,8 +991,8 @@ async function readFileRecord(opts, io, emitter, inflateFactory, state, threshol
|
|
|
991
991
|
// This prevents materializing large highly-compressible files in memory,
|
|
992
992
|
// which can cause massive peak RSS and negate streaming backpressure.
|
|
993
993
|
const sizesTrusted = !hasDataDescriptorFlag(vars.flags);
|
|
994
|
-
const compressedSize = vars.compressedSize
|
|
995
|
-
const uncompressedSize = vars.uncompressedSize
|
|
994
|
+
const compressedSize = vars.compressedSize ?? 0;
|
|
995
|
+
const uncompressedSize = vars.uncompressedSize ?? 0;
|
|
996
996
|
const useSmallFileOptimization = sizesTrusted &&
|
|
997
997
|
fileSizeKnown &&
|
|
998
998
|
inflateRawSync &&
|
|
@@ -1013,10 +1013,10 @@ async function readFileRecord(opts, io, emitter, inflateFactory, state, threshol
|
|
|
1013
1013
|
? inflateFactory()
|
|
1014
1014
|
: new PassThrough({ highWaterMark: DEFAULT_UNZIP_STREAM_HIGH_WATER_MARK });
|
|
1015
1015
|
if (fileSizeKnown) {
|
|
1016
|
-
await pumpKnownCompressedSizeToEntry(io, inflater, entry, vars.compressedSize
|
|
1016
|
+
await pumpKnownCompressedSizeToEntry(io, inflater, entry, vars.compressedSize ?? 0);
|
|
1017
1017
|
return;
|
|
1018
1018
|
}
|
|
1019
1019
|
await pipeline(io.streamUntilDataDescriptor(), inflater, entry);
|
|
1020
1020
|
const dd = await readDataDescriptor(async (l) => io.pull(l));
|
|
1021
|
-
entry.size = dd.uncompressedSize
|
|
1021
|
+
entry.size = dd.uncompressedSize ?? 0;
|
|
1022
1022
|
}
|
|
@@ -171,9 +171,9 @@ class BrowserInflateRaw extends Duplex {
|
|
|
171
171
|
}
|
|
172
172
|
destroy(error) {
|
|
173
173
|
if (!this.writeClosed) {
|
|
174
|
-
this.writer.abort(error
|
|
174
|
+
this.writer.abort(error ?? undefined).catch(() => { });
|
|
175
175
|
}
|
|
176
|
-
this.reader.cancel(error
|
|
176
|
+
this.reader.cancel(error ?? undefined).catch(() => { });
|
|
177
177
|
return super.destroy(error);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
@@ -338,7 +338,7 @@ class WorkerInflateRaw extends Duplex {
|
|
|
338
338
|
}
|
|
339
339
|
};
|
|
340
340
|
this.worker.onerror = (e) => {
|
|
341
|
-
const err = new Error(e.message
|
|
341
|
+
const err = new Error(e.message ?? "Worker error");
|
|
342
342
|
for (const cb of this._pendingAcks.values()) {
|
|
343
343
|
cb(err);
|
|
344
344
|
}
|
|
@@ -298,7 +298,10 @@ export function parseCsv(input, options = {}) {
|
|
|
298
298
|
validatedRows.push(row);
|
|
299
299
|
}
|
|
300
300
|
else {
|
|
301
|
-
invalidRows.push({
|
|
301
|
+
invalidRows.push({
|
|
302
|
+
row: Object.values(row),
|
|
303
|
+
reason: "Validation failed"
|
|
304
|
+
});
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
307
|
else {
|
|
@@ -308,7 +311,7 @@ export function parseCsv(input, options = {}) {
|
|
|
308
311
|
else {
|
|
309
312
|
invalidRows.push({
|
|
310
313
|
row: Object.values(row),
|
|
311
|
-
reason: result.reason
|
|
314
|
+
reason: result.reason ?? "Validation failed"
|
|
312
315
|
});
|
|
313
316
|
}
|
|
314
317
|
}
|
|
@@ -352,7 +355,7 @@ export function parseCsv(input, options = {}) {
|
|
|
352
355
|
validatedRows.push(row);
|
|
353
356
|
}
|
|
354
357
|
else {
|
|
355
|
-
arrayInvalidRows.push({ row, reason: result.reason
|
|
358
|
+
arrayInvalidRows.push({ row, reason: result.reason ?? "Validation failed" });
|
|
356
359
|
}
|
|
357
360
|
}
|
|
358
361
|
}
|
|
@@ -69,10 +69,10 @@ export function createDefaultWriteMapper(dateFormat, dateUTC) {
|
|
|
69
69
|
return function mapValue(value) {
|
|
70
70
|
if (value) {
|
|
71
71
|
if (value.text || value.hyperlink) {
|
|
72
|
-
return value.hyperlink
|
|
72
|
+
return value.hyperlink ?? value.text ?? "";
|
|
73
73
|
}
|
|
74
74
|
if (value.formula || value.result) {
|
|
75
|
-
return value.result
|
|
75
|
+
return value.result ?? "";
|
|
76
76
|
}
|
|
77
77
|
if (value instanceof Date) {
|
|
78
78
|
return formatter.format(value);
|
|
@@ -19,7 +19,7 @@ class CSV extends CSVBrowser {
|
|
|
19
19
|
}
|
|
20
20
|
async writeFile(filename, options) {
|
|
21
21
|
const writeStream = fs.createWriteStream(filename, {
|
|
22
|
-
encoding: (options?.encoding
|
|
22
|
+
encoding: (options?.encoding ?? "utf8"),
|
|
23
23
|
highWaterMark: options?.highWaterMark ?? 64 * 1024
|
|
24
24
|
});
|
|
25
25
|
return this.write(writeStream, options);
|
|
@@ -26,10 +26,10 @@ class Anchor {
|
|
|
26
26
|
this.nativeRowOff = 0;
|
|
27
27
|
}
|
|
28
28
|
else if (isAnchorModel(address)) {
|
|
29
|
-
this.nativeCol = address.nativeCol
|
|
30
|
-
this.nativeColOff = address.nativeColOff
|
|
31
|
-
this.nativeRow = address.nativeRow
|
|
32
|
-
this.nativeRowOff = address.nativeRowOff
|
|
29
|
+
this.nativeCol = address.nativeCol ?? 0;
|
|
30
|
+
this.nativeColOff = address.nativeColOff ?? 0;
|
|
31
|
+
this.nativeRow = address.nativeRow ?? 0;
|
|
32
|
+
this.nativeRowOff = address.nativeRowOff ?? 0;
|
|
33
33
|
}
|
|
34
34
|
else if (isSimpleAddress(address)) {
|
|
35
35
|
this.col = address.col + offset;
|
|
@@ -500,8 +500,8 @@ class HyperlinkValue {
|
|
|
500
500
|
}
|
|
501
501
|
get value() {
|
|
502
502
|
return {
|
|
503
|
-
text: this.model.text
|
|
504
|
-
hyperlink: this.model.hyperlink
|
|
503
|
+
text: this.model.text ?? "",
|
|
504
|
+
hyperlink: this.model.hyperlink ?? "",
|
|
505
505
|
tooltip: this.model.tooltip
|
|
506
506
|
};
|
|
507
507
|
}
|
|
@@ -537,11 +537,11 @@ class HyperlinkValue {
|
|
|
537
537
|
this.model.address = value;
|
|
538
538
|
}
|
|
539
539
|
toCsvString() {
|
|
540
|
-
return this.model.hyperlink
|
|
540
|
+
return this.model.hyperlink ?? "";
|
|
541
541
|
}
|
|
542
542
|
release() { }
|
|
543
543
|
toString() {
|
|
544
|
-
return this.model.text
|
|
544
|
+
return this.model.text ?? "";
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
547
|
class MergeValue {
|
|
@@ -734,7 +734,7 @@ class FormulaValue {
|
|
|
734
734
|
return this._translatedFormula;
|
|
735
735
|
}
|
|
736
736
|
toCsvString() {
|
|
737
|
-
return `${this.model.result
|
|
737
|
+
return `${this.model.result ?? ""}`;
|
|
738
738
|
}
|
|
739
739
|
release() { }
|
|
740
740
|
toString() {
|
|
@@ -126,7 +126,7 @@ class Column {
|
|
|
126
126
|
* Set an outline level for columns
|
|
127
127
|
*/
|
|
128
128
|
get outlineLevel() {
|
|
129
|
-
return this._outlineLevel
|
|
129
|
+
return this._outlineLevel ?? 0;
|
|
130
130
|
}
|
|
131
131
|
set outlineLevel(value) {
|
|
132
132
|
this._outlineLevel = value;
|
|
@@ -230,8 +230,8 @@ class Column {
|
|
|
230
230
|
*/
|
|
231
231
|
addPageBreak(top, bottom) {
|
|
232
232
|
const ws = this._worksheet;
|
|
233
|
-
const topRow = Math.max(0, (top
|
|
234
|
-
const bottomRow = Math.max(0, (bottom
|
|
233
|
+
const topRow = Math.max(0, (top ?? 0) - 1) || 0;
|
|
234
|
+
const bottomRow = Math.max(0, (bottom ?? 0) - 1) || 1048575;
|
|
235
235
|
const pb = {
|
|
236
236
|
id: this._number,
|
|
237
237
|
max: bottomRow,
|
|
@@ -340,7 +340,7 @@ class Column {
|
|
|
340
340
|
? worksheetOrCols
|
|
341
341
|
: worksheetOrCols;
|
|
342
342
|
let cols = Array.isArray(worksheetOrCols) ? worksheetOrCols : (colsMaybe ?? []);
|
|
343
|
-
cols = cols
|
|
343
|
+
cols = cols ?? [];
|
|
344
344
|
const columns = [];
|
|
345
345
|
let count = 1;
|
|
346
346
|
let index = 0;
|
|
@@ -204,7 +204,7 @@ class DefinedNames {
|
|
|
204
204
|
value.forEach(definedName => {
|
|
205
205
|
const matrix = (matrixMap[definedName.name] = new CellMatrix());
|
|
206
206
|
definedName.ranges.forEach(rangeStr => {
|
|
207
|
-
if (rangeRegexp.test(rangeStr.split("!").pop()
|
|
207
|
+
if (rangeRegexp.test(rangeStr.split("!").pop() ?? "")) {
|
|
208
208
|
matrix.addCell(rangeStr);
|
|
209
209
|
}
|
|
210
210
|
});
|
|
@@ -30,7 +30,7 @@ class FormCheckbox {
|
|
|
30
30
|
// Parse range to get anchors
|
|
31
31
|
const { tl, br } = this._parseRange(range);
|
|
32
32
|
// Generate shape ID (starting from 1025)
|
|
33
|
-
const existingCount = worksheet.formControls?.length
|
|
33
|
+
const existingCount = worksheet.formControls?.length ?? 0;
|
|
34
34
|
const shapeId = 1025 + existingCount;
|
|
35
35
|
// Parse link cell reference
|
|
36
36
|
let link;
|
|
@@ -6,21 +6,50 @@ import type { Table } from "@excel/table";
|
|
|
6
6
|
export interface PivotTableSource {
|
|
7
7
|
/** Name of the worksheet containing the source data (used in pivotCacheDefinition) */
|
|
8
8
|
name: string;
|
|
9
|
+
/**
|
|
10
|
+
* Name of the source Table (e.g., "SalesData").
|
|
11
|
+
* When present, pivotCacheDefinition uses `<worksheetSource name="..."/>` instead of ref+sheet.
|
|
12
|
+
*/
|
|
13
|
+
tableName?: string;
|
|
9
14
|
/** Get row values by 1-indexed row number */
|
|
10
15
|
getRow(rowNumber: number): {
|
|
11
|
-
values:
|
|
16
|
+
values: unknown[];
|
|
12
17
|
};
|
|
13
18
|
/** Get column values by 1-indexed column number */
|
|
14
19
|
getColumn(columnNumber: number): {
|
|
15
|
-
values:
|
|
20
|
+
values: unknown[];
|
|
16
21
|
};
|
|
17
22
|
/** Get all sheet values as a sparse 2D array */
|
|
18
|
-
getSheetValues():
|
|
23
|
+
getSheetValues(): unknown[][];
|
|
19
24
|
/** Dimensions with short range reference (e.g., "A1:E10") */
|
|
20
25
|
dimensions: {
|
|
21
26
|
shortRange: string;
|
|
22
27
|
};
|
|
23
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* A value field specification with optional per-field metric override.
|
|
31
|
+
* Use this instead of a plain string when you need different aggregation
|
|
32
|
+
* metrics for individual value fields.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* values: [
|
|
37
|
+
* { name: "Sales", metric: "sum" },
|
|
38
|
+
* { name: "Quantity", metric: "count" },
|
|
39
|
+
* { name: "Price", metric: "average" },
|
|
40
|
+
* ]
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export interface PivotTableValue {
|
|
44
|
+
/** Column name to aggregate */
|
|
45
|
+
name: string;
|
|
46
|
+
/**
|
|
47
|
+
* Aggregation metric for this specific value field.
|
|
48
|
+
* Overrides the table-wide `metric` when specified.
|
|
49
|
+
* @default inherited from PivotTableModel.metric (which defaults to 'sum')
|
|
50
|
+
*/
|
|
51
|
+
metric?: PivotTableSubtotal;
|
|
52
|
+
}
|
|
24
53
|
/**
|
|
25
54
|
* Model for creating a new pivot table.
|
|
26
55
|
* Pass this to worksheet.addPivotTable() to create a pivot table.
|
|
@@ -42,18 +71,45 @@ export interface PivotTableModel {
|
|
|
42
71
|
/**
|
|
43
72
|
* Column names to use as column fields in the pivot table.
|
|
44
73
|
* If omitted or empty, Excel will use "Values" as the column field.
|
|
74
|
+
* When multiple values are specified alongside columns, the synthetic
|
|
75
|
+
* "∑Values" pseudo-field is appended to the column axis automatically.
|
|
45
76
|
* @default []
|
|
46
77
|
*/
|
|
47
78
|
columns?: string[];
|
|
48
|
-
/** Column names to aggregate as values in the pivot table */
|
|
49
|
-
values: string[];
|
|
50
79
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
80
|
+
* Column names (or value field specifications) to aggregate in the pivot table.
|
|
81
|
+
* Each entry can be a plain string (column name) or a {@link PivotTableValue}
|
|
82
|
+
* object with a per-field metric override.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* // Simple: all values use the table-wide metric
|
|
87
|
+
* values: ["Sales", "Quantity"]
|
|
88
|
+
*
|
|
89
|
+
* // Per-value metrics
|
|
90
|
+
* values: [
|
|
91
|
+
* { name: "Sales", metric: "sum" },
|
|
92
|
+
* { name: "Quantity", metric: "count" },
|
|
93
|
+
* { name: "Price", metric: "average" },
|
|
94
|
+
* ]
|
|
95
|
+
*
|
|
96
|
+
* // Mixed: plain strings inherit table-wide metric
|
|
97
|
+
* values: ["Sales", { name: "Quantity", metric: "count" }]
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
values: (string | PivotTableValue)[];
|
|
101
|
+
/**
|
|
102
|
+
* Column names to use as page fields (report filters) in the pivot table.
|
|
103
|
+
* Page fields appear as dropdown filters above the pivot table.
|
|
104
|
+
* @default []
|
|
105
|
+
*/
|
|
106
|
+
pages?: string[];
|
|
107
|
+
/**
|
|
108
|
+
* Default aggregation metric for all value fields.
|
|
109
|
+
* Individual value fields can override this via {@link PivotTableValue.metric}.
|
|
54
110
|
* @default 'sum'
|
|
55
111
|
*/
|
|
56
|
-
metric?:
|
|
112
|
+
metric?: PivotTableSubtotal;
|
|
57
113
|
/**
|
|
58
114
|
* Controls whether pivot table style overrides worksheet column widths.
|
|
59
115
|
* - '0': Preserve worksheet column widths (useful for custom sizing)
|
|
@@ -62,6 +118,19 @@ export interface PivotTableModel {
|
|
|
62
118
|
*/
|
|
63
119
|
applyWidthHeightFormats?: "0" | "1";
|
|
64
120
|
}
|
|
121
|
+
/** Allowed element types within CacheField.sharedItems */
|
|
122
|
+
export type SharedItemValue = string | number | boolean | Date | PivotErrorValue | null;
|
|
123
|
+
/**
|
|
124
|
+
* Wrapper for OOXML error values in sharedItems (e.g. `<e v="REF!"/>`).
|
|
125
|
+
* Distinguishes error strings from regular strings so they roundtrip as `<e>` not `<s>`.
|
|
126
|
+
*/
|
|
127
|
+
export declare class PivotErrorValue {
|
|
128
|
+
/** The error code without the leading '#' (e.g. "REF!", "VALUE!", "N/A") */
|
|
129
|
+
readonly code: string;
|
|
130
|
+
constructor(code: string);
|
|
131
|
+
/** Returns the display form with '#' prefix, e.g. "#REF!" */
|
|
132
|
+
toString(): string;
|
|
133
|
+
}
|
|
65
134
|
/**
|
|
66
135
|
* Represents a cache field in a pivot table.
|
|
67
136
|
* Cache fields store unique values from source columns for row/column grouping.
|
|
@@ -70,14 +139,42 @@ export interface CacheField {
|
|
|
70
139
|
/** Name of the field (column header from source) */
|
|
71
140
|
name: string;
|
|
72
141
|
/** Unique values for row/column fields, null for value fields */
|
|
73
|
-
sharedItems:
|
|
142
|
+
sharedItems: SharedItemValue[] | null;
|
|
143
|
+
/** Whether the field contains numeric values (raw attribute string for roundtrip: "0" or "1") */
|
|
144
|
+
containsNumber?: string;
|
|
145
|
+
/** Whether the field contains only integer values (raw attribute string for roundtrip: "0" or "1") */
|
|
146
|
+
containsInteger?: string;
|
|
74
147
|
/** Minimum value for numeric fields */
|
|
75
148
|
minValue?: number;
|
|
76
149
|
/** Maximum value for numeric fields */
|
|
77
150
|
maxValue?: number;
|
|
151
|
+
/** Number format ID (preserved on roundtrip, defaults to "0") */
|
|
152
|
+
numFmtId?: string;
|
|
153
|
+
/** Original containsSemiMixedTypes attribute from loaded file */
|
|
154
|
+
containsSemiMixedTypes?: string;
|
|
155
|
+
/** Original containsNonDate attribute from loaded file */
|
|
156
|
+
containsNonDate?: string;
|
|
157
|
+
/** Original containsString attribute from loaded file */
|
|
158
|
+
containsString?: string;
|
|
159
|
+
/** Original containsBlank attribute from loaded file */
|
|
160
|
+
containsBlank?: string;
|
|
161
|
+
/** Original containsDate attribute from loaded file */
|
|
162
|
+
containsDate?: string;
|
|
163
|
+
/** Original containsMixedTypes attribute from loaded file */
|
|
164
|
+
containsMixedTypes?: string;
|
|
165
|
+
/** Flag indicating this cache field was loaded from file */
|
|
166
|
+
isLoaded?: boolean;
|
|
167
|
+
/** Preserved <fieldGroup> raw XML for roundtrip (loaded models only) */
|
|
168
|
+
fieldGroupXml?: string;
|
|
169
|
+
/** Bag of additional cacheField attributes not individually modeled (for roundtrip preservation) */
|
|
170
|
+
extraAttrs?: Record<string, string>;
|
|
78
171
|
}
|
|
79
172
|
/** Aggregation function types for pivot table data fields */
|
|
80
173
|
export type PivotTableSubtotal = "sum" | "count" | "average" | "max" | "min" | "product" | "countNums" | "stdDev" | "stdDevP" | "var" | "varP";
|
|
174
|
+
/** Map from PivotTableSubtotal to its Excel display name prefix */
|
|
175
|
+
export declare const METRIC_DISPLAY_NAMES: Readonly<Record<PivotTableSubtotal, string>>;
|
|
176
|
+
/** Set of all valid PivotTableSubtotal values (for runtime validation) */
|
|
177
|
+
export declare const VALID_SUBTOTALS: ReadonlySet<string>;
|
|
81
178
|
/**
|
|
82
179
|
* Data field configuration for pivot table aggregation.
|
|
83
180
|
* Defines how values are aggregated in the pivot table.
|
|
@@ -93,6 +190,8 @@ export interface DataField {
|
|
|
93
190
|
baseItem?: number;
|
|
94
191
|
/** Aggregation function (default: 'sum') */
|
|
95
192
|
subtotal?: PivotTableSubtotal;
|
|
193
|
+
/** Number format ID (preserved on roundtrip for currency/date formatting) */
|
|
194
|
+
numFmtId?: number;
|
|
96
195
|
}
|
|
97
196
|
/**
|
|
98
197
|
* Internal pivot table representation used by the library.
|
|
@@ -107,8 +206,12 @@ export interface PivotTable {
|
|
|
107
206
|
columns: number[];
|
|
108
207
|
/** Field indices for value fields */
|
|
109
208
|
values: number[];
|
|
110
|
-
/**
|
|
111
|
-
|
|
209
|
+
/** Field indices for page fields (report filters) */
|
|
210
|
+
pages?: number[];
|
|
211
|
+
/** Default aggregation metric */
|
|
212
|
+
metric: PivotTableSubtotal;
|
|
213
|
+
/** Per-value metric overrides (parallel to `values` array). Falls back to `metric`. */
|
|
214
|
+
valueMetrics: PivotTableSubtotal[];
|
|
112
215
|
/** Cache fields with shared items */
|
|
113
216
|
cacheFields: CacheField[];
|
|
114
217
|
/** Cache ID for linking to pivot cache */
|
|
@@ -117,6 +220,8 @@ export interface PivotTable {
|
|
|
117
220
|
applyWidthHeightFormats: "0" | "1";
|
|
118
221
|
/** 1-indexed table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.) */
|
|
119
222
|
tableNumber: number;
|
|
223
|
+
/** Workbook relationship ID, assigned during write by addWorkbookRels() */
|
|
224
|
+
rId?: string;
|
|
120
225
|
/** Flag indicating this pivot table was loaded from file (not newly created) */
|
|
121
226
|
isLoaded?: boolean;
|
|
122
227
|
/** Data fields for loaded pivot tables */
|
|
@@ -132,21 +237,67 @@ export interface PivotTable {
|
|
|
132
237
|
export interface ParsedCacheDefinition {
|
|
133
238
|
sourceRef?: string;
|
|
134
239
|
sourceSheet?: string;
|
|
240
|
+
/** Source table name (name style - references a named Table) */
|
|
241
|
+
sourceTableName?: string;
|
|
242
|
+
/** Cache source type (default "worksheet") */
|
|
243
|
+
cacheSourceType?: string;
|
|
135
244
|
cacheFields: CacheField[];
|
|
136
245
|
recordCount?: number;
|
|
137
246
|
rId?: string;
|
|
247
|
+
/** Additional attributes to preserve */
|
|
248
|
+
refreshOnLoad?: string;
|
|
249
|
+
createdVersion?: string;
|
|
250
|
+
refreshedVersion?: string;
|
|
251
|
+
minRefreshableVersion?: string;
|
|
138
252
|
isLoaded?: boolean;
|
|
253
|
+
backgroundQuery?: string;
|
|
254
|
+
supportSubquery?: string;
|
|
255
|
+
supportAdvancedDrill?: string;
|
|
256
|
+
/** Bag of additional root attributes not individually modeled (for roundtrip) */
|
|
257
|
+
extraRootAttrs?: Record<string, string>;
|
|
258
|
+
/** worksheetSource r:id attribute (for external connections) */
|
|
259
|
+
worksheetSourceRId?: string;
|
|
260
|
+
extLstXml?: string;
|
|
261
|
+
/** Preserved unknown child elements XML for roundtrip (e.g. calculatedItems, cacheHierarchies) */
|
|
262
|
+
unknownElementsXml?: string;
|
|
263
|
+
/** Preserved raw XML for non-worksheetSource children inside <cacheSource> (e.g. <consolidation>) */
|
|
264
|
+
cacheSourceXml?: string;
|
|
139
265
|
}
|
|
266
|
+
/** Allowed element types within cache record values */
|
|
267
|
+
export type RecordValue = {
|
|
268
|
+
type: "x";
|
|
269
|
+
value: number;
|
|
270
|
+
} | {
|
|
271
|
+
type: "n";
|
|
272
|
+
value: number;
|
|
273
|
+
} | {
|
|
274
|
+
type: "s";
|
|
275
|
+
value: string;
|
|
276
|
+
} | {
|
|
277
|
+
type: "b";
|
|
278
|
+
value: boolean;
|
|
279
|
+
} | {
|
|
280
|
+
type: "m";
|
|
281
|
+
} | {
|
|
282
|
+
type: "d";
|
|
283
|
+
value: Date;
|
|
284
|
+
} | {
|
|
285
|
+
type: "e";
|
|
286
|
+
value: string;
|
|
287
|
+
};
|
|
140
288
|
/**
|
|
141
289
|
* Parsed cache records from loaded pivot table files.
|
|
142
290
|
*/
|
|
143
291
|
export interface ParsedCacheRecords {
|
|
144
|
-
records:
|
|
145
|
-
type: string;
|
|
146
|
-
value?: any;
|
|
147
|
-
}>>;
|
|
292
|
+
records: RecordValue[][];
|
|
148
293
|
count: number;
|
|
149
294
|
isLoaded?: boolean;
|
|
295
|
+
/** Extra root attributes beyond xmlns/xmlns:r/count (for roundtrip preservation) */
|
|
296
|
+
extraRootAttrs?: Record<string, string>;
|
|
150
297
|
}
|
|
151
|
-
declare function makePivotTable(worksheet:
|
|
298
|
+
declare function makePivotTable(worksheet: {
|
|
299
|
+
workbook: {
|
|
300
|
+
pivotTables: PivotTable[];
|
|
301
|
+
};
|
|
302
|
+
}, model: PivotTableModel): PivotTable;
|
|
152
303
|
export { makePivotTable };
|