@cj-tech-master/excelts 9.4.2 → 9.5.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 +8 -5
- package/dist/browser/index.browser.js +19 -1
- package/dist/browser/index.d.ts +4 -2
- package/dist/browser/index.js +9 -1
- package/dist/browser/modules/excel/chart/cache-populator.d.ts +49 -0
- package/dist/browser/modules/excel/chart/cache-populator.js +1171 -0
- package/dist/browser/modules/excel/chart/chart-api.d.ts +92 -0
- package/dist/browser/modules/excel/chart/chart-api.js +364 -0
- package/dist/browser/modules/excel/chart/chart-builder.d.ts +48 -0
- package/dist/browser/modules/excel/chart/chart-builder.js +2432 -0
- package/dist/browser/modules/excel/chart/chart-ex-builder.d.ts +36 -0
- package/dist/browser/modules/excel/chart/chart-ex-builder.js +903 -0
- package/dist/browser/modules/excel/chart/chart-ex-parser.d.ts +8 -0
- package/dist/browser/modules/excel/chart/chart-ex-parser.js +1205 -0
- package/dist/browser/modules/excel/chart/chart-ex-renderer.d.ts +187 -0
- package/dist/browser/modules/excel/chart/chart-ex-renderer.js +5352 -0
- package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +531 -0
- package/dist/browser/modules/excel/chart/chart-ex-types.js +11 -0
- package/dist/browser/modules/excel/chart/chart-images.d.ts +78 -0
- package/dist/browser/modules/excel/chart/chart-images.js +363 -0
- package/dist/browser/modules/excel/chart/chart-presets.d.ts +392 -0
- package/dist/browser/modules/excel/chart/chart-presets.js +179 -0
- package/dist/browser/modules/excel/chart/chart-renderer.d.ts +550 -0
- package/dist/browser/modules/excel/chart/chart-renderer.js +6440 -0
- package/dist/browser/modules/excel/chart/chart-sidecar.d.ts +21 -0
- package/dist/browser/modules/excel/chart/chart-sidecar.js +427 -0
- package/dist/browser/modules/excel/chart/chart-utils.d.ts +306 -0
- package/dist/browser/modules/excel/chart/chart-utils.js +821 -0
- package/dist/browser/modules/excel/chart/chart.d.ts +504 -0
- package/dist/browser/modules/excel/chart/chart.js +1320 -0
- package/dist/browser/modules/excel/chart/glyph-rasterizer.d.ts +62 -0
- package/dist/browser/modules/excel/chart/glyph-rasterizer.js +658 -0
- package/dist/browser/modules/excel/chart/index.d.ts +54 -0
- package/dist/browser/modules/excel/chart/index.js +46 -0
- package/dist/browser/modules/excel/chart/install.d.ts +44 -0
- package/dist/browser/modules/excel/chart/install.js +91 -0
- package/dist/browser/modules/excel/chart/shape-properties.d.ts +156 -0
- package/dist/browser/modules/excel/chart/shape-properties.js +1557 -0
- package/dist/browser/modules/excel/chart/stroke-font.d.ts +36 -0
- package/dist/browser/modules/excel/chart/stroke-font.js +1556 -0
- package/dist/browser/modules/excel/chart/topojson.d.ts +98 -0
- package/dist/browser/modules/excel/chart/topojson.js +236 -0
- package/dist/browser/modules/excel/chart/types.d.ts +2559 -0
- package/dist/browser/modules/excel/chart/types.js +8 -0
- package/dist/browser/modules/excel/chart-host-registry.d.ts +157 -0
- package/dist/browser/modules/excel/chart-host-registry.js +90 -0
- package/dist/browser/modules/excel/chartsheet.d.ts +102 -0
- package/dist/browser/modules/excel/chartsheet.js +196 -0
- package/dist/browser/modules/excel/defined-names.d.ts +35 -0
- package/dist/browser/modules/excel/defined-names.js +44 -4
- package/dist/browser/modules/excel/errors.d.ts +6 -0
- package/dist/browser/modules/excel/errors.js +9 -0
- package/dist/browser/modules/excel/form-control.d.ts +6 -0
- package/dist/browser/modules/excel/form-control.js +17 -0
- package/dist/browser/modules/excel/image.js +12 -2
- package/dist/browser/modules/excel/pivot-chart.d.ts +7 -0
- package/dist/browser/modules/excel/pivot-chart.js +53 -0
- package/dist/browser/modules/excel/pivot-table.d.ts +55 -0
- package/dist/browser/modules/excel/pivot-table.js +35 -0
- package/dist/browser/modules/excel/range.js +5 -1
- package/dist/browser/modules/excel/sparkline/index.d.ts +7 -0
- package/dist/browser/modules/excel/sparkline/index.js +7 -0
- package/dist/browser/modules/excel/sparkline/sparkline.d.ts +206 -0
- package/dist/browser/modules/excel/sparkline/sparkline.js +750 -0
- package/dist/browser/modules/excel/stream/worksheet-writer.js +3 -2
- package/dist/browser/modules/excel/table.js +42 -6
- package/dist/browser/modules/excel/types.d.ts +72 -0
- package/dist/browser/modules/excel/utils/address.d.ts +18 -0
- package/dist/browser/modules/excel/utils/address.js +28 -0
- package/dist/browser/modules/excel/utils/drawing-utils.js +11 -6
- package/dist/browser/modules/excel/utils/guid.d.ts +15 -0
- package/dist/browser/modules/excel/utils/guid.js +35 -0
- package/dist/browser/modules/excel/utils/ooxml-paths.d.ts +74 -0
- package/dist/browser/modules/excel/utils/ooxml-paths.js +206 -9
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart-sidecar.d.ts +35 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +101 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart.d.ts +32 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart.js +2125 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chartsheet.d.ts +9 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chartsheet.js +26 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-content-types.d.ts +16 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-content-types.js +181 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-drawing.d.ts +34 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-drawing.js +267 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-pivot.d.ts +14 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-pivot.js +104 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-relationships.d.ts +18 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-relationships.js +184 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-structure.d.ts +21 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-structure.js +56 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-styles.d.ts +15 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-styles.js +89 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-table.d.ts +31 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-table.js +177 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-workbook.d.ts +19 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-workbook.js +163 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-worksheet.d.ts +25 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-worksheet.js +569 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/context.d.ts +85 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/context.js +191 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/index.d.ts +31 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/index.js +102 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/path-utils.d.ts +67 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/path-utils.js +156 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/reporter.d.ts +41 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/reporter.js +61 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/types.d.ts +109 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/types.js +12 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/xml-utils.d.ts +38 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/xml-utils.js +100 -0
- package/dist/browser/modules/excel/workbook.browser.d.ts +248 -30
- package/dist/browser/modules/excel/workbook.browser.js +966 -31
- package/dist/browser/modules/excel/workbook.d.ts +43 -0
- package/dist/browser/modules/excel/workbook.js +48 -0
- package/dist/browser/modules/excel/worksheet.d.ts +157 -3
- package/dist/browser/modules/excel/worksheet.js +394 -35
- package/dist/browser/modules/excel/xlsx/rel-type.d.ts +40 -0
- package/dist/browser/modules/excel/xlsx/rel-type.js +41 -1
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -0
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
- package/dist/browser/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.d.ts +353 -0
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6000 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/threaded-comments-xform.d.ts +60 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +213 -0
- package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +150 -11
- package/dist/browser/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +30 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
- package/dist/browser/modules/excel/xlsx/xform/drawing/graphic-frame-xform.d.ts +54 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +225 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +3 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +46 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +13 -2
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
- package/dist/browser/modules/excel/xlsx/xform/sheet/chartsheet-xform.d.ts +185 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +441 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
- package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +196 -20
- package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
- package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
- package/dist/browser/modules/excel/xlsx/xform/xsd-values.d.ts +63 -0
- package/dist/browser/modules/excel/xlsx/xform/xsd-values.js +101 -0
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +115 -21
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +4422 -78
- package/dist/browser/modules/pdf/builder/document-builder.d.ts +74 -0
- package/dist/browser/modules/pdf/builder/document-builder.js +507 -2
- package/dist/browser/modules/pdf/builder/pdf-editor.js +48 -3
- package/dist/browser/modules/pdf/excel-bridge.d.ts +69 -0
- package/dist/browser/modules/pdf/excel-bridge.js +683 -12
- package/dist/browser/modules/pdf/font/font-manager.d.ts +25 -0
- package/dist/browser/modules/pdf/font/font-manager.js +39 -0
- package/dist/browser/modules/pdf/index.d.ts +5 -2
- package/dist/browser/modules/pdf/index.js +3 -1
- package/dist/browser/modules/pdf/render/chart-surface.d.ts +33 -0
- package/dist/browser/modules/pdf/render/chart-surface.js +200 -0
- package/dist/browser/modules/pdf/render/layout-engine.d.ts +22 -1
- package/dist/browser/modules/pdf/render/layout-engine.js +436 -56
- package/dist/browser/modules/pdf/render/page-renderer.js +169 -28
- package/dist/browser/modules/pdf/render/pdf-exporter.js +117 -7
- package/dist/browser/modules/pdf/types.d.ts +227 -23
- package/dist/browser/modules/pdf/types.js +4 -0
- package/dist/browser/modules/pdf/word-bridge.d.ts +47 -0
- package/dist/browser/modules/pdf/word-bridge.js +304 -0
- package/dist/browser/modules/word/constants.d.ts +179 -0
- package/dist/browser/modules/word/constants.js +231 -0
- package/dist/browser/modules/word/content-types.d.ts +27 -0
- package/dist/browser/modules/word/content-types.js +53 -0
- package/dist/browser/modules/word/digital-signatures.d.ts +87 -0
- package/dist/browser/modules/word/digital-signatures.js +134 -0
- package/dist/browser/modules/word/document.d.ts +728 -0
- package/dist/browser/modules/word/document.js +1795 -0
- package/dist/browser/modules/word/docx-packager.d.ts +14 -0
- package/dist/browser/modules/word/docx-packager.js +822 -0
- package/dist/browser/modules/word/docx-reader.d.ts +11 -0
- package/dist/browser/modules/word/docx-reader.js +4929 -0
- package/dist/browser/modules/word/encryption.d.ts +102 -0
- package/dist/browser/modules/word/encryption.js +274 -0
- package/dist/browser/modules/word/errors.d.ts +49 -0
- package/dist/browser/modules/word/errors.js +68 -0
- package/dist/browser/modules/word/font-obfuscation.d.ts +31 -0
- package/dist/browser/modules/word/font-obfuscation.js +83 -0
- package/dist/browser/modules/word/html-renderer.d.ts +38 -0
- package/dist/browser/modules/word/html-renderer.js +782 -0
- package/dist/browser/modules/word/index.base.d.ts +19 -0
- package/dist/browser/modules/word/index.base.js +51 -0
- package/dist/browser/modules/word/index.browser.d.ts +4 -0
- package/dist/browser/modules/word/index.browser.js +4 -0
- package/dist/browser/modules/word/index.d.ts +4 -0
- package/dist/browser/modules/word/index.js +4 -0
- package/dist/browser/modules/word/internal-utils.d.ts +23 -0
- package/dist/browser/modules/word/internal-utils.js +54 -0
- package/dist/browser/modules/word/relationships.d.ts +31 -0
- package/dist/browser/modules/word/relationships.js +56 -0
- package/dist/browser/modules/word/types.d.ts +2325 -0
- package/dist/browser/modules/word/types.js +10 -0
- package/dist/browser/modules/word/units.d.ts +49 -0
- package/dist/browser/modules/word/units.js +111 -0
- package/dist/browser/modules/word/writers/chart-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/chart-writer.js +385 -0
- package/dist/browser/modules/word/writers/checkbox-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/checkbox-writer.js +42 -0
- package/dist/browser/modules/word/writers/comment-writer.d.ts +15 -0
- package/dist/browser/modules/word/writers/comment-writer.js +70 -0
- package/dist/browser/modules/word/writers/document-writer.d.ts +16 -0
- package/dist/browser/modules/word/writers/document-writer.js +461 -0
- package/dist/browser/modules/word/writers/footnote-writer.d.ts +11 -0
- package/dist/browser/modules/word/writers/footnote-writer.js +72 -0
- package/dist/browser/modules/word/writers/header-footer-writer.d.ts +13 -0
- package/dist/browser/modules/word/writers/header-footer-writer.js +129 -0
- package/dist/browser/modules/word/writers/image-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/image-writer.js +185 -0
- package/dist/browser/modules/word/writers/math-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/math-writer.js +428 -0
- package/dist/browser/modules/word/writers/numbering-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/numbering-writer.js +125 -0
- package/dist/browser/modules/word/writers/paragraph-writer.d.ts +13 -0
- package/dist/browser/modules/word/writers/paragraph-writer.js +516 -0
- package/dist/browser/modules/word/writers/parts-writer.d.ts +26 -0
- package/dist/browser/modules/word/writers/parts-writer.js +660 -0
- package/dist/browser/modules/word/writers/run-writer.d.ts +15 -0
- package/dist/browser/modules/word/writers/run-writer.js +649 -0
- package/dist/browser/modules/word/writers/section-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/section-writer.js +238 -0
- package/dist/browser/modules/word/writers/styles-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/styles-writer.js +242 -0
- package/dist/browser/modules/word/writers/table-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/table-writer.js +503 -0
- package/dist/browser/modules/word/writers/textbox-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/textbox-writer.js +53 -0
- package/dist/browser/modules/word/writers/toc-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/toc-writer.js +79 -0
- package/dist/browser/modules/xml/encode.d.ts +56 -7
- package/dist/browser/modules/xml/encode.js +157 -11
- package/dist/cjs/index.js +13 -2
- package/dist/cjs/modules/excel/chart/cache-populator.js +1178 -0
- package/dist/cjs/modules/excel/chart/chart-api.js +371 -0
- package/dist/cjs/modules/excel/chart/chart-builder.js +2440 -0
- package/dist/cjs/modules/excel/chart/chart-ex-builder.js +907 -0
- package/dist/cjs/modules/excel/chart/chart-ex-parser.js +1208 -0
- package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +5364 -0
- package/dist/cjs/modules/excel/chart/chart-ex-types.js +12 -0
- package/dist/cjs/modules/excel/chart/chart-images.js +366 -0
- package/dist/cjs/modules/excel/chart/chart-presets.js +184 -0
- package/dist/cjs/modules/excel/chart/chart-renderer.js +6450 -0
- package/dist/cjs/modules/excel/chart/chart-sidecar.js +433 -0
- package/dist/cjs/modules/excel/chart/chart-utils.js +845 -0
- package/dist/cjs/modules/excel/chart/chart.js +1324 -0
- package/dist/cjs/modules/excel/chart/glyph-rasterizer.js +664 -0
- package/dist/cjs/modules/excel/chart/index.js +101 -0
- package/dist/cjs/modules/excel/chart/install.js +95 -0
- package/dist/cjs/modules/excel/chart/shape-properties.js +1577 -0
- package/dist/cjs/modules/excel/chart/stroke-font.js +1559 -0
- package/dist/cjs/modules/excel/chart/topojson.js +239 -0
- package/dist/cjs/modules/excel/chart/types.js +9 -0
- package/dist/cjs/modules/excel/chart-host-registry.js +96 -0
- package/dist/cjs/modules/excel/chartsheet.js +199 -0
- package/dist/cjs/modules/excel/defined-names.js +44 -4
- package/dist/cjs/modules/excel/errors.js +11 -1
- package/dist/cjs/modules/excel/form-control.js +17 -0
- package/dist/cjs/modules/excel/image.js +12 -2
- package/dist/cjs/modules/excel/pivot-chart.js +56 -0
- package/dist/cjs/modules/excel/pivot-table.js +35 -0
- package/dist/cjs/modules/excel/range.js +5 -1
- package/dist/cjs/modules/excel/sparkline/index.js +23 -0
- package/dist/cjs/modules/excel/sparkline/sparkline.js +756 -0
- package/dist/cjs/modules/excel/stream/worksheet-writer.js +3 -2
- package/dist/cjs/modules/excel/table.js +42 -6
- package/dist/cjs/modules/excel/utils/address.js +29 -0
- package/dist/cjs/modules/excel/utils/drawing-utils.js +11 -6
- package/dist/cjs/modules/excel/utils/guid.js +38 -0
- package/dist/cjs/modules/excel/utils/ooxml-paths.js +246 -9
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +103 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-chart.js +2128 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-chartsheet.js +29 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-content-types.js +184 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-drawing.js +270 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-pivot.js +107 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-relationships.js +188 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-structure.js +60 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-styles.js +92 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-table.js +180 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-workbook.js +166 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-worksheet.js +572 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/context.js +196 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/index.js +105 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/path-utils.js +168 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/reporter.js +66 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/types.js +13 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/xml-utils.js +110 -0
- package/dist/cjs/modules/excel/workbook.browser.js +973 -38
- package/dist/cjs/modules/excel/workbook.js +48 -0
- package/dist/cjs/modules/excel/worksheet.js +393 -34
- package/dist/cjs/modules/excel/xlsx/rel-type.js +41 -1
- package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
- package/dist/cjs/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
- package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
- package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6003 -0
- package/dist/cjs/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +219 -0
- package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +149 -10
- package/dist/cjs/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
- package/dist/cjs/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +228 -0
- package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
- package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
- package/dist/cjs/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +444 -0
- package/dist/cjs/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
- package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +195 -19
- package/dist/cjs/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
- package/dist/cjs/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
- package/dist/cjs/modules/excel/xlsx/xform/xsd-values.js +106 -0
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +4420 -76
- package/dist/cjs/modules/pdf/builder/document-builder.js +506 -1
- package/dist/cjs/modules/pdf/builder/pdf-editor.js +48 -3
- package/dist/cjs/modules/pdf/excel-bridge.js +684 -12
- package/dist/cjs/modules/pdf/font/font-manager.js +39 -0
- package/dist/cjs/modules/pdf/index.js +5 -1
- package/dist/cjs/modules/pdf/render/chart-surface.js +203 -0
- package/dist/cjs/modules/pdf/render/layout-engine.js +437 -56
- package/dist/cjs/modules/pdf/render/page-renderer.js +169 -28
- package/dist/cjs/modules/pdf/render/pdf-exporter.js +115 -5
- package/dist/cjs/modules/pdf/types.js +5 -0
- package/dist/cjs/modules/pdf/word-bridge.js +307 -0
- package/dist/cjs/modules/word/constants.js +234 -0
- package/dist/cjs/modules/word/content-types.js +57 -0
- package/dist/cjs/modules/word/digital-signatures.js +140 -0
- package/dist/cjs/modules/word/document.js +1909 -0
- package/dist/cjs/modules/word/docx-packager.js +825 -0
- package/dist/cjs/modules/word/docx-reader.js +4932 -0
- package/dist/cjs/modules/word/encryption.js +282 -0
- package/dist/cjs/modules/word/errors.js +88 -0
- package/dist/cjs/modules/word/font-obfuscation.js +88 -0
- package/dist/cjs/modules/word/html-renderer.js +785 -0
- package/dist/cjs/modules/word/index.base.js +199 -0
- package/dist/cjs/modules/word/index.browser.js +20 -0
- package/dist/cjs/modules/word/index.js +20 -0
- package/dist/cjs/modules/word/internal-utils.js +59 -0
- package/dist/cjs/modules/word/relationships.js +60 -0
- package/dist/cjs/modules/word/types.js +11 -0
- package/dist/cjs/modules/word/units.js +135 -0
- package/dist/cjs/modules/word/writers/chart-writer.js +388 -0
- package/dist/cjs/modules/word/writers/checkbox-writer.js +45 -0
- package/dist/cjs/modules/word/writers/comment-writer.js +74 -0
- package/dist/cjs/modules/word/writers/document-writer.js +465 -0
- package/dist/cjs/modules/word/writers/footnote-writer.js +76 -0
- package/dist/cjs/modules/word/writers/header-footer-writer.js +134 -0
- package/dist/cjs/modules/word/writers/image-writer.js +188 -0
- package/dist/cjs/modules/word/writers/math-writer.js +431 -0
- package/dist/cjs/modules/word/writers/numbering-writer.js +128 -0
- package/dist/cjs/modules/word/writers/paragraph-writer.js +521 -0
- package/dist/cjs/modules/word/writers/parts-writer.js +671 -0
- package/dist/cjs/modules/word/writers/run-writer.js +655 -0
- package/dist/cjs/modules/word/writers/section-writer.js +241 -0
- package/dist/cjs/modules/word/writers/styles-writer.js +245 -0
- package/dist/cjs/modules/word/writers/table-writer.js +506 -0
- package/dist/cjs/modules/word/writers/textbox-writer.js +56 -0
- package/dist/cjs/modules/word/writers/toc-writer.js +82 -0
- package/dist/cjs/modules/xml/encode.js +158 -11
- package/dist/esm/index.browser.js +20 -2
- package/dist/esm/index.js +9 -1
- package/dist/esm/modules/excel/chart/cache-populator.js +1171 -0
- package/dist/esm/modules/excel/chart/chart-api.js +364 -0
- package/dist/esm/modules/excel/chart/chart-builder.js +2432 -0
- package/dist/esm/modules/excel/chart/chart-ex-builder.js +903 -0
- package/dist/esm/modules/excel/chart/chart-ex-parser.js +1205 -0
- package/dist/esm/modules/excel/chart/chart-ex-renderer.js +5352 -0
- package/dist/esm/modules/excel/chart/chart-ex-types.js +11 -0
- package/dist/esm/modules/excel/chart/chart-images.js +363 -0
- package/dist/esm/modules/excel/chart/chart-presets.js +179 -0
- package/dist/esm/modules/excel/chart/chart-renderer.js +6440 -0
- package/dist/esm/modules/excel/chart/chart-sidecar.js +427 -0
- package/dist/esm/modules/excel/chart/chart-utils.js +821 -0
- package/dist/esm/modules/excel/chart/chart.js +1320 -0
- package/dist/esm/modules/excel/chart/glyph-rasterizer.js +658 -0
- package/dist/esm/modules/excel/chart/index.js +46 -0
- package/dist/esm/modules/excel/chart/install.js +91 -0
- package/dist/esm/modules/excel/chart/shape-properties.js +1557 -0
- package/dist/esm/modules/excel/chart/stroke-font.js +1556 -0
- package/dist/esm/modules/excel/chart/topojson.js +236 -0
- package/dist/esm/modules/excel/chart/types.js +8 -0
- package/dist/esm/modules/excel/chart-host-registry.js +90 -0
- package/dist/esm/modules/excel/chartsheet.js +196 -0
- package/dist/esm/modules/excel/defined-names.js +44 -4
- package/dist/esm/modules/excel/errors.js +9 -0
- package/dist/esm/modules/excel/form-control.js +17 -0
- package/dist/esm/modules/excel/image.js +12 -2
- package/dist/esm/modules/excel/pivot-chart.js +53 -0
- package/dist/esm/modules/excel/pivot-table.js +35 -0
- package/dist/esm/modules/excel/range.js +5 -1
- package/dist/esm/modules/excel/sparkline/index.js +7 -0
- package/dist/esm/modules/excel/sparkline/sparkline.js +750 -0
- package/dist/esm/modules/excel/stream/worksheet-writer.js +3 -2
- package/dist/esm/modules/excel/table.js +42 -6
- package/dist/esm/modules/excel/utils/address.js +28 -0
- package/dist/esm/modules/excel/utils/drawing-utils.js +11 -6
- package/dist/esm/modules/excel/utils/guid.js +35 -0
- package/dist/esm/modules/excel/utils/ooxml-paths.js +206 -9
- package/dist/esm/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +101 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-chart.js +2125 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-chartsheet.js +26 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-content-types.js +181 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-drawing.js +267 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-pivot.js +104 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-relationships.js +184 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-structure.js +56 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-styles.js +89 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-table.js +177 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-workbook.js +163 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-worksheet.js +569 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/context.js +191 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/index.js +102 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/path-utils.js +156 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/reporter.js +61 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/types.js +12 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/xml-utils.js +100 -0
- package/dist/esm/modules/excel/workbook.browser.js +969 -34
- package/dist/esm/modules/excel/workbook.js +48 -0
- package/dist/esm/modules/excel/worksheet.js +394 -35
- package/dist/esm/modules/excel/xlsx/rel-type.js +41 -1
- package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
- package/dist/esm/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
- package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
- package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6000 -0
- package/dist/esm/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +213 -0
- package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +150 -11
- package/dist/esm/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
- package/dist/esm/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +225 -0
- package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
- package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
- package/dist/esm/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +441 -0
- package/dist/esm/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
- package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +196 -20
- package/dist/esm/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
- package/dist/esm/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
- package/dist/esm/modules/excel/xlsx/xform/xsd-values.js +101 -0
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +4422 -78
- package/dist/esm/modules/pdf/builder/document-builder.js +507 -2
- package/dist/esm/modules/pdf/builder/pdf-editor.js +48 -3
- package/dist/esm/modules/pdf/excel-bridge.js +683 -12
- package/dist/esm/modules/pdf/font/font-manager.js +39 -0
- package/dist/esm/modules/pdf/index.js +3 -1
- package/dist/esm/modules/pdf/render/chart-surface.js +200 -0
- package/dist/esm/modules/pdf/render/layout-engine.js +436 -56
- package/dist/esm/modules/pdf/render/page-renderer.js +169 -28
- package/dist/esm/modules/pdf/render/pdf-exporter.js +117 -7
- package/dist/esm/modules/pdf/types.js +4 -0
- package/dist/esm/modules/pdf/word-bridge.js +304 -0
- package/dist/esm/modules/word/constants.js +231 -0
- package/dist/esm/modules/word/content-types.js +53 -0
- package/dist/esm/modules/word/digital-signatures.js +134 -0
- package/dist/esm/modules/word/document.js +1795 -0
- package/dist/esm/modules/word/docx-packager.js +822 -0
- package/dist/esm/modules/word/docx-reader.js +4929 -0
- package/dist/esm/modules/word/encryption.js +274 -0
- package/dist/esm/modules/word/errors.js +68 -0
- package/dist/esm/modules/word/font-obfuscation.js +83 -0
- package/dist/esm/modules/word/html-renderer.js +782 -0
- package/dist/esm/modules/word/index.base.js +51 -0
- package/dist/esm/modules/word/index.browser.js +4 -0
- package/dist/esm/modules/word/index.js +4 -0
- package/dist/esm/modules/word/internal-utils.js +54 -0
- package/dist/esm/modules/word/relationships.js +56 -0
- package/dist/esm/modules/word/types.js +10 -0
- package/dist/esm/modules/word/units.js +111 -0
- package/dist/esm/modules/word/writers/chart-writer.js +385 -0
- package/dist/esm/modules/word/writers/checkbox-writer.js +42 -0
- package/dist/esm/modules/word/writers/comment-writer.js +70 -0
- package/dist/esm/modules/word/writers/document-writer.js +461 -0
- package/dist/esm/modules/word/writers/footnote-writer.js +72 -0
- package/dist/esm/modules/word/writers/header-footer-writer.js +129 -0
- package/dist/esm/modules/word/writers/image-writer.js +185 -0
- package/dist/esm/modules/word/writers/math-writer.js +428 -0
- package/dist/esm/modules/word/writers/numbering-writer.js +125 -0
- package/dist/esm/modules/word/writers/paragraph-writer.js +516 -0
- package/dist/esm/modules/word/writers/parts-writer.js +660 -0
- package/dist/esm/modules/word/writers/run-writer.js +649 -0
- package/dist/esm/modules/word/writers/section-writer.js +238 -0
- package/dist/esm/modules/word/writers/styles-writer.js +242 -0
- package/dist/esm/modules/word/writers/table-writer.js +503 -0
- package/dist/esm/modules/word/writers/textbox-writer.js +53 -0
- package/dist/esm/modules/word/writers/toc-writer.js +79 -0
- package/dist/esm/modules/xml/encode.js +157 -11
- package/dist/iife/excelts.iife.js +11789 -687
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +52 -44
- package/dist/types/index.browser.d.ts +8 -5
- package/dist/types/index.d.ts +4 -2
- package/dist/types/modules/excel/chart/cache-populator.d.ts +49 -0
- package/dist/types/modules/excel/chart/chart-api.d.ts +92 -0
- package/dist/types/modules/excel/chart/chart-builder.d.ts +48 -0
- package/dist/types/modules/excel/chart/chart-ex-builder.d.ts +36 -0
- package/dist/types/modules/excel/chart/chart-ex-parser.d.ts +8 -0
- package/dist/types/modules/excel/chart/chart-ex-renderer.d.ts +187 -0
- package/dist/types/modules/excel/chart/chart-ex-types.d.ts +531 -0
- package/dist/types/modules/excel/chart/chart-images.d.ts +78 -0
- package/dist/types/modules/excel/chart/chart-presets.d.ts +392 -0
- package/dist/types/modules/excel/chart/chart-renderer.d.ts +550 -0
- package/dist/types/modules/excel/chart/chart-sidecar.d.ts +21 -0
- package/dist/types/modules/excel/chart/chart-utils.d.ts +306 -0
- package/dist/types/modules/excel/chart/chart.d.ts +504 -0
- package/dist/types/modules/excel/chart/glyph-rasterizer.d.ts +62 -0
- package/dist/types/modules/excel/chart/index.d.ts +54 -0
- package/dist/types/modules/excel/chart/install.d.ts +44 -0
- package/dist/types/modules/excel/chart/shape-properties.d.ts +156 -0
- package/dist/types/modules/excel/chart/stroke-font.d.ts +36 -0
- package/dist/types/modules/excel/chart/topojson.d.ts +98 -0
- package/dist/types/modules/excel/chart/types.d.ts +2559 -0
- package/dist/types/modules/excel/chart-host-registry.d.ts +157 -0
- package/dist/types/modules/excel/chartsheet.d.ts +102 -0
- package/dist/types/modules/excel/defined-names.d.ts +35 -0
- package/dist/types/modules/excel/errors.d.ts +6 -0
- package/dist/types/modules/excel/form-control.d.ts +6 -0
- package/dist/types/modules/excel/pivot-chart.d.ts +7 -0
- package/dist/types/modules/excel/pivot-table.d.ts +55 -0
- package/dist/types/modules/excel/sparkline/index.d.ts +7 -0
- package/dist/types/modules/excel/sparkline/sparkline.d.ts +206 -0
- package/dist/types/modules/excel/types.d.ts +72 -0
- package/dist/types/modules/excel/utils/address.d.ts +18 -0
- package/dist/types/modules/excel/utils/guid.d.ts +15 -0
- package/dist/types/modules/excel/utils/ooxml-paths.d.ts +74 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-chart-sidecar.d.ts +35 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-chart.d.ts +32 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-chartsheet.d.ts +9 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-content-types.d.ts +16 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-drawing.d.ts +34 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-pivot.d.ts +14 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-relationships.d.ts +18 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-structure.d.ts +21 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-styles.d.ts +15 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-table.d.ts +31 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-workbook.d.ts +19 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-worksheet.d.ts +25 -0
- package/dist/types/modules/excel/utils/ooxml-validator/context.d.ts +85 -0
- package/dist/types/modules/excel/utils/ooxml-validator/index.d.ts +31 -0
- package/dist/types/modules/excel/utils/ooxml-validator/path-utils.d.ts +67 -0
- package/dist/types/modules/excel/utils/ooxml-validator/reporter.d.ts +41 -0
- package/dist/types/modules/excel/utils/ooxml-validator/types.d.ts +109 -0
- package/dist/types/modules/excel/utils/ooxml-validator/xml-utils.d.ts +38 -0
- package/dist/types/modules/excel/workbook.browser.d.ts +248 -30
- package/dist/types/modules/excel/workbook.d.ts +43 -0
- package/dist/types/modules/excel/worksheet.d.ts +157 -3
- package/dist/types/modules/excel/xlsx/rel-type.d.ts +40 -0
- package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -0
- package/dist/types/modules/excel/xlsx/xform/chart/chart-space-xform.d.ts +353 -0
- package/dist/types/modules/excel/xlsx/xform/comment/threaded-comments-xform.d.ts +60 -0
- package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +30 -0
- package/dist/types/modules/excel/xlsx/xform/drawing/graphic-frame-xform.d.ts +54 -0
- package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +3 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +46 -0
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +13 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/chartsheet-xform.d.ts +185 -0
- package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -0
- package/dist/types/modules/excel/xlsx/xform/xsd-values.d.ts +63 -0
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +115 -21
- package/dist/types/modules/pdf/builder/document-builder.d.ts +74 -0
- package/dist/types/modules/pdf/excel-bridge.d.ts +69 -0
- package/dist/types/modules/pdf/font/font-manager.d.ts +25 -0
- package/dist/types/modules/pdf/index.d.ts +5 -2
- package/dist/types/modules/pdf/render/chart-surface.d.ts +33 -0
- package/dist/types/modules/pdf/render/layout-engine.d.ts +22 -1
- package/dist/types/modules/pdf/types.d.ts +227 -23
- package/dist/types/modules/pdf/word-bridge.d.ts +47 -0
- package/dist/types/modules/word/constants.d.ts +179 -0
- package/dist/types/modules/word/content-types.d.ts +27 -0
- package/dist/types/modules/word/digital-signatures.d.ts +87 -0
- package/dist/types/modules/word/document.d.ts +728 -0
- package/dist/types/modules/word/docx-packager.d.ts +14 -0
- package/dist/types/modules/word/docx-reader.d.ts +11 -0
- package/dist/types/modules/word/encryption.d.ts +102 -0
- package/dist/types/modules/word/errors.d.ts +49 -0
- package/dist/types/modules/word/font-obfuscation.d.ts +31 -0
- package/dist/types/modules/word/html-renderer.d.ts +38 -0
- package/dist/types/modules/word/index.base.d.ts +19 -0
- package/dist/types/modules/word/index.browser.d.ts +4 -0
- package/dist/types/modules/word/index.d.ts +4 -0
- package/dist/types/modules/word/internal-utils.d.ts +23 -0
- package/dist/types/modules/word/relationships.d.ts +31 -0
- package/dist/types/modules/word/types.d.ts +2325 -0
- package/dist/types/modules/word/units.d.ts +49 -0
- package/dist/types/modules/word/writers/chart-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/checkbox-writer.d.ts +9 -0
- package/dist/types/modules/word/writers/comment-writer.d.ts +15 -0
- package/dist/types/modules/word/writers/document-writer.d.ts +16 -0
- package/dist/types/modules/word/writers/footnote-writer.d.ts +11 -0
- package/dist/types/modules/word/writers/header-footer-writer.d.ts +13 -0
- package/dist/types/modules/word/writers/image-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/math-writer.d.ts +9 -0
- package/dist/types/modules/word/writers/numbering-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/paragraph-writer.d.ts +13 -0
- package/dist/types/modules/word/writers/parts-writer.d.ts +26 -0
- package/dist/types/modules/word/writers/run-writer.d.ts +15 -0
- package/dist/types/modules/word/writers/section-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/styles-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/table-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/textbox-writer.d.ts +9 -0
- package/dist/types/modules/word/writers/toc-writer.d.ts +9 -0
- package/dist/types/modules/xml/encode.d.ts +56 -7
- package/package.json +29 -11
- package/dist/browser/modules/excel/utils/ooxml-validator.d.ts +0 -48
- package/dist/browser/modules/excel/utils/ooxml-validator.js +0 -493
- package/dist/browser/modules/excel/utils/passthrough-manager.d.ts +0 -77
- package/dist/browser/modules/excel/utils/passthrough-manager.js +0 -129
- package/dist/cjs/modules/excel/utils/ooxml-validator.js +0 -499
- package/dist/cjs/modules/excel/utils/passthrough-manager.js +0 -133
- package/dist/esm/modules/excel/utils/ooxml-validator.js +0 -493
- package/dist/esm/modules/excel/utils/passthrough-manager.js +0 -129
- package/dist/types/modules/excel/utils/ooxml-validator.d.ts +0 -48
- package/dist/types/modules/excel/utils/passthrough-manager.d.ts +0 -77
|
@@ -218,6 +218,7 @@ class DefinedNames {
|
|
|
218
218
|
this.matrixMap = {};
|
|
219
219
|
this.formulaMap = {};
|
|
220
220
|
this.localSheetIdMap = {};
|
|
221
|
+
this.hiddenMap = {};
|
|
221
222
|
this.opaqueMap = {};
|
|
222
223
|
this.nameForKey = {};
|
|
223
224
|
this._explicitProbe = probe ?? null;
|
|
@@ -239,6 +240,29 @@ class DefinedNames {
|
|
|
239
240
|
this.nameForKey[name] = name;
|
|
240
241
|
this.addEx(location, name);
|
|
241
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Register a hidden defined name that maps a chartEx `_xlchart.vN.M`
|
|
245
|
+
* pointer to a worksheet range. Excel emits one of these for every
|
|
246
|
+
* data reference in a chartEx chart:
|
|
247
|
+
*
|
|
248
|
+
* <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
|
|
249
|
+
*
|
|
250
|
+
* The chartEx then references `_xlchart.v1.0` from its `<cx:f>`
|
|
251
|
+
* element instead of the worksheet range directly. Direct sheet
|
|
252
|
+
* references in `<cx:f>` are rejected by Excel 2016+ with
|
|
253
|
+
* "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)" on
|
|
254
|
+
* load, so chartEx data MUST go through this indirection.
|
|
255
|
+
*
|
|
256
|
+
* Same semantics as `add()` but also marks the name `hidden` so
|
|
257
|
+
* it does not show up in Excel's Name Manager UI.
|
|
258
|
+
*
|
|
259
|
+
* @param locStr - Worksheet reference (e.g. `"Sheet1!$A$1:$A$3"`)
|
|
260
|
+
* @param name - Defined name to register (e.g. `"_xlchart.v1.0"`)
|
|
261
|
+
*/
|
|
262
|
+
addHidden(locStr, name) {
|
|
263
|
+
this.add(locStr, name);
|
|
264
|
+
this.hiddenMap[name] = true;
|
|
265
|
+
}
|
|
242
266
|
addEx(location, name) {
|
|
243
267
|
const matrix = this.getMatrix(name);
|
|
244
268
|
if ("top" in location) {
|
|
@@ -516,10 +540,15 @@ class DefinedNames {
|
|
|
516
540
|
.map(([sKey, matrix]) => {
|
|
517
541
|
const result = this.getRanges(sKey, matrix);
|
|
518
542
|
const localSheetId = this.localSheetIdMap[sKey];
|
|
543
|
+
const hidden = this.hiddenMap[sKey];
|
|
544
|
+
const out = { ...result };
|
|
519
545
|
if (localSheetId !== undefined) {
|
|
520
|
-
|
|
546
|
+
out.localSheetId = localSheetId;
|
|
521
547
|
}
|
|
522
|
-
|
|
548
|
+
if (hidden) {
|
|
549
|
+
out.hidden = true;
|
|
550
|
+
}
|
|
551
|
+
return out;
|
|
523
552
|
})
|
|
524
553
|
.filter((definedName) => definedName.ranges.length);
|
|
525
554
|
// Formula-based names from formulaMap (only include names not already in matrixMap)
|
|
@@ -534,20 +563,27 @@ class DefinedNames {
|
|
|
534
563
|
};
|
|
535
564
|
const localSheetId = this.localSheetIdMap[sKey];
|
|
536
565
|
if (localSheetId !== undefined) {
|
|
537
|
-
|
|
566
|
+
result.localSheetId = localSheetId;
|
|
567
|
+
}
|
|
568
|
+
if (this.hiddenMap[sKey]) {
|
|
569
|
+
result.hidden = true;
|
|
538
570
|
}
|
|
539
571
|
return result;
|
|
540
572
|
});
|
|
541
573
|
// Opaque names — rawText preserved for round-trip
|
|
542
574
|
const opaqueNames = Object.entries(this.opaqueMap).map(([sKey, entry]) => {
|
|
543
575
|
const bareName = this.nameForKey[sKey] ?? sKey;
|
|
544
|
-
|
|
576
|
+
const out = {
|
|
545
577
|
name: bareName,
|
|
546
578
|
ranges: [],
|
|
547
579
|
rawText: entry.rawText,
|
|
548
580
|
localSheetId: entry.localSheetId,
|
|
549
581
|
kind: "opaque"
|
|
550
582
|
};
|
|
583
|
+
if (this.hiddenMap[sKey]) {
|
|
584
|
+
out.hidden = true;
|
|
585
|
+
}
|
|
586
|
+
return out;
|
|
551
587
|
});
|
|
552
588
|
return [...cellNames, ...formulaNames, ...opaqueNames];
|
|
553
589
|
}
|
|
@@ -563,6 +599,7 @@ class DefinedNames {
|
|
|
563
599
|
const matrixMap = (this.matrixMap = {});
|
|
564
600
|
const formulaMap = (this.formulaMap = {});
|
|
565
601
|
const localSheetIdMap = (this.localSheetIdMap = {});
|
|
602
|
+
const hiddenMap = (this.hiddenMap = {});
|
|
566
603
|
const opaqueMap = (this.opaqueMap = {});
|
|
567
604
|
const nameForKeyMap = (this.nameForKey = {});
|
|
568
605
|
// Resolve probe lazily: a caller may have constructed the Workbook
|
|
@@ -577,6 +614,9 @@ class DefinedNames {
|
|
|
577
614
|
if (definedName.localSheetId !== undefined) {
|
|
578
615
|
localSheetIdMap[sKey] = definedName.localSheetId;
|
|
579
616
|
}
|
|
617
|
+
if (definedName.hidden) {
|
|
618
|
+
hiddenMap[sKey] = true;
|
|
619
|
+
}
|
|
580
620
|
// Programmatic API path: formulaExpression already set and no rawText
|
|
581
621
|
if (definedName.formulaExpression && definedName.rawText === undefined) {
|
|
582
622
|
formulaMap[sKey] = definedName.formulaExpression;
|
|
@@ -110,6 +110,12 @@ export declare class ExcelDownloadError extends ExcelError {
|
|
|
110
110
|
export declare class PivotTableError extends ExcelError {
|
|
111
111
|
name: string;
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Error thrown when chart configuration is invalid.
|
|
115
|
+
*/
|
|
116
|
+
export declare class ChartOptionsError extends ExcelError {
|
|
117
|
+
name: string;
|
|
118
|
+
}
|
|
113
119
|
/**
|
|
114
120
|
* Error thrown when table configuration or operation is invalid.
|
|
115
121
|
*/
|
|
@@ -145,6 +145,15 @@ export class PivotTableError extends ExcelError {
|
|
|
145
145
|
this.name = "PivotTableError";
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Error thrown when chart configuration is invalid.
|
|
150
|
+
*/
|
|
151
|
+
export class ChartOptionsError extends ExcelError {
|
|
152
|
+
constructor() {
|
|
153
|
+
super(...arguments);
|
|
154
|
+
this.name = "ChartOptionsError";
|
|
155
|
+
}
|
|
156
|
+
}
|
|
148
157
|
/**
|
|
149
158
|
* Error thrown when table configuration or operation is invalid.
|
|
150
159
|
*/
|
|
@@ -97,6 +97,12 @@ declare class FormCheckbox {
|
|
|
97
97
|
worksheet: Worksheet;
|
|
98
98
|
model: FormCheckboxModel;
|
|
99
99
|
constructor(worksheet: Worksheet, range: FormControlRange, options?: FormCheckboxOptions);
|
|
100
|
+
/**
|
|
101
|
+
* Rebuild a FormCheckbox from a previously-serialised model (e.g. round-tripped
|
|
102
|
+
* via `worksheet.model`). The model is adopted as-is; no range parsing or shape
|
|
103
|
+
* id reassignment is performed.
|
|
104
|
+
*/
|
|
105
|
+
static fromModel(worksheet: Worksheet, model: FormCheckboxModel): FormCheckbox;
|
|
100
106
|
/**
|
|
101
107
|
* Get the checked state
|
|
102
108
|
*/
|
|
@@ -51,6 +51,23 @@ class FormCheckbox {
|
|
|
51
51
|
print: options?.print ?? false
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Rebuild a FormCheckbox from a previously-serialised model (e.g. round-tripped
|
|
56
|
+
* via `worksheet.model`). The model is adopted as-is; no range parsing or shape
|
|
57
|
+
* id reassignment is performed.
|
|
58
|
+
*/
|
|
59
|
+
static fromModel(worksheet, model) {
|
|
60
|
+
const cb = Object.create(FormCheckbox.prototype);
|
|
61
|
+
cb.worksheet = worksheet;
|
|
62
|
+
// Defensive shallow clone: the caller should not be able to mutate the
|
|
63
|
+
// underlying anchor objects through the original reference.
|
|
64
|
+
cb.model = {
|
|
65
|
+
...model,
|
|
66
|
+
tl: { ...model.tl },
|
|
67
|
+
br: { ...model.br }
|
|
68
|
+
};
|
|
69
|
+
return cb;
|
|
70
|
+
}
|
|
54
71
|
/**
|
|
55
72
|
* Get the checked state
|
|
56
73
|
*/
|
|
@@ -92,9 +92,19 @@ class Image {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
else if (range) {
|
|
95
|
+
// Anchor inputs:
|
|
96
|
+
// - string addresses ("A1") are 1-based; the internal Anchor uses
|
|
97
|
+
// 0-based nativeCol/nativeRow, so the top-left address is shifted
|
|
98
|
+
// by -1. The bottom-right address is intentionally NOT shifted —
|
|
99
|
+
// this matches the string-range path (e.g. "A1:B2") where br
|
|
100
|
+
// anchors the cell *past* the address (i.e. its right/bottom edge).
|
|
101
|
+
// - object inputs ({ col, row } / AnchorModel) already use the
|
|
102
|
+
// 0-based convention and are passed through as-is.
|
|
103
|
+
const tlInput = range.tl;
|
|
104
|
+
const brInput = range.br;
|
|
95
105
|
this.range = {
|
|
96
|
-
tl: new Anchor(this.worksheet,
|
|
97
|
-
br:
|
|
106
|
+
tl: new Anchor(this.worksheet, tlInput, typeof tlInput === "string" ? -1 : 0),
|
|
107
|
+
br: brInput ? new Anchor(this.worksheet, brInput, 0) : undefined,
|
|
98
108
|
ext: range.ext,
|
|
99
109
|
editAs: range.editAs,
|
|
100
110
|
hyperlinks: hyperlinks || ("hyperlinks" in range ? range.hyperlinks : undefined)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AddChartOptions, AddComboChartOptions, PivotChartOptions as PivotChartMetadataOptions, PivotChartSource } from "./chart/types.js";
|
|
2
|
+
import type { PivotTable } from "./pivot-table.js";
|
|
3
|
+
type PivotChartCreationOptions = AddChartOptions | AddComboChartOptions;
|
|
4
|
+
export declare function withPivotChartSource<T extends PivotChartCreationOptions>(pivotTable: PivotTable, options: T, fmtId?: number, pivotChartOptions?: PivotChartMetadataOptions): T & {
|
|
5
|
+
pivotSource: PivotChartSource;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { quoteSheetName } from "./utils/address.js";
|
|
2
|
+
const DEFAULT_PIVOT_CHART_PIVOT_AREA_XML = '<pivotArea type="data" outline="0" fieldPosition="0"><references count="1"><reference field="4294967294" count="1" selected="0"><x v="0"/></reference></references></pivotArea>';
|
|
3
|
+
export function withPivotChartSource(pivotTable, options, fmtId, pivotChartOptions) {
|
|
4
|
+
// Auto-assign the next available fmtId when the caller didn't pass
|
|
5
|
+
// one. Before this fix, a second `addPivotChart(pivotTable, …)`
|
|
6
|
+
// against the same pivot would reuse `fmtId=0`, collide with the
|
|
7
|
+
// first chart's `chartFormat` entry (the `exists` guard in
|
|
8
|
+
// `ensurePivotChartFormat` would no-op), and produce two charts
|
|
9
|
+
// pointing at a single pivotArea declaration — Excel renders only
|
|
10
|
+
// one of them correctly.
|
|
11
|
+
const existingFormats = pivotTable.chartFormats ?? [];
|
|
12
|
+
const allocatedFmtId = fmtId ??
|
|
13
|
+
(existingFormats.length === 0 ? 0 : Math.max(...existingFormats.map(f => f.format ?? 0)) + 1);
|
|
14
|
+
const resolvedPivotOpts = pivotChartOptions ?? options.pivotChartOptions;
|
|
15
|
+
ensurePivotChartFormat(pivotTable, allocatedFmtId);
|
|
16
|
+
applyPivotChartOptions(pivotTable, resolvedPivotOpts);
|
|
17
|
+
return {
|
|
18
|
+
...options,
|
|
19
|
+
pivotSource: {
|
|
20
|
+
name: buildPivotChartSourceName(pivotTable),
|
|
21
|
+
fmtId: allocatedFmtId,
|
|
22
|
+
options: resolvedPivotOpts
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function applyPivotChartOptions(pivotTable, options) {
|
|
27
|
+
if (!options) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
pivotTable.pivotChartOptions = options;
|
|
31
|
+
if (options.refreshOnOpen && pivotTable.cacheDefinition) {
|
|
32
|
+
pivotTable.cacheDefinition.refreshOnLoad = "1";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function ensurePivotChartFormat(pivotTable, fmtId) {
|
|
36
|
+
pivotTable.chartFormat ?? (pivotTable.chartFormat = 1);
|
|
37
|
+
pivotTable.chartFormats ?? (pivotTable.chartFormats = []);
|
|
38
|
+
const exists = pivotTable.chartFormats.some(format => format.chart === 0 && format.format === fmtId);
|
|
39
|
+
if (!exists) {
|
|
40
|
+
pivotTable.chartFormats.push({
|
|
41
|
+
chart: 0,
|
|
42
|
+
format: fmtId,
|
|
43
|
+
series: true,
|
|
44
|
+
pivotAreaXml: DEFAULT_PIVOT_CHART_PIVOT_AREA_XML
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function buildPivotChartSourceName(pivotTable) {
|
|
49
|
+
const tableName = pivotTable.name ?? `PivotTable${pivotTable.tableNumber}`;
|
|
50
|
+
return pivotTable.worksheetName
|
|
51
|
+
? `${quoteSheetName(pivotTable.worksheetName)}!${tableName}`
|
|
52
|
+
: tableName;
|
|
53
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PivotChartOptions } from "./chart/types.js";
|
|
1
2
|
import type { Table } from "./table.js";
|
|
2
3
|
/**
|
|
3
4
|
* Interface representing the source data abstraction for pivot tables.
|
|
@@ -117,6 +118,28 @@ export interface PivotTableModel {
|
|
|
117
118
|
* @default '1'
|
|
118
119
|
*/
|
|
119
120
|
applyWidthHeightFormats?: "0" | "1";
|
|
121
|
+
/**
|
|
122
|
+
* Top-left cell anchor for the pivot table, e.g. `"A3"` or `"E5"`.
|
|
123
|
+
*
|
|
124
|
+
* Specifies where the pivot's displayed block begins. When page filters are
|
|
125
|
+
* present they occupy rows from the anchor downward, followed by a blank
|
|
126
|
+
* separator row and then the pivot body (header + data). The library sizes
|
|
127
|
+
* the initial placeholder range automatically — when Excel refreshes the
|
|
128
|
+
* pivot cache it expands the pivot from this anchor to its full size.
|
|
129
|
+
*
|
|
130
|
+
* When multiple pivot tables share a worksheet, each must be given a distinct
|
|
131
|
+
* anchor with enough vertical or horizontal room between them so the expanded
|
|
132
|
+
* pivots do not overlap. Excel reports "there's already a PivotTable there"
|
|
133
|
+
* when refreshing two overlapping pivots, so this option is required for
|
|
134
|
+
* dashboards that host several pivots on one sheet.
|
|
135
|
+
*
|
|
136
|
+
* Accepts a single-cell address (`"A3"`). A range reference (`"A3:C5"`) is
|
|
137
|
+
* also tolerated — only the top-left cell is used; the range extent is
|
|
138
|
+
* recomputed from the pivot's field layout.
|
|
139
|
+
*
|
|
140
|
+
* @default `"A3"` (row 3 of column A)
|
|
141
|
+
*/
|
|
142
|
+
ref?: string;
|
|
120
143
|
}
|
|
121
144
|
/** Allowed element types within CacheField.sharedItems */
|
|
122
145
|
export type SharedItemValue = string | number | boolean | Date | PivotErrorValue | null;
|
|
@@ -193,11 +216,28 @@ export interface DataField {
|
|
|
193
216
|
/** Number format ID (preserved on roundtrip for currency/date formatting) */
|
|
194
217
|
numFmtId?: number;
|
|
195
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* A pivot table chart format entry used by pivot charts.
|
|
221
|
+
*/
|
|
222
|
+
export interface PivotTableChartFormat {
|
|
223
|
+
/** Chart index within the pivot chart formatting collection. */
|
|
224
|
+
chart: number;
|
|
225
|
+
/** Format ID referenced by c:pivotSource/c:fmtId. */
|
|
226
|
+
format: number;
|
|
227
|
+
/** Whether this format applies to a series. */
|
|
228
|
+
series?: boolean;
|
|
229
|
+
/** Preserved or generated pivotArea XML. */
|
|
230
|
+
pivotAreaXml?: string;
|
|
231
|
+
}
|
|
196
232
|
/**
|
|
197
233
|
* Internal pivot table representation used by the library.
|
|
198
234
|
* This is the processed model after calling makePivotTable().
|
|
199
235
|
*/
|
|
200
236
|
export interface PivotTable {
|
|
237
|
+
/** Pivot table display name, defaults to `PivotTable${tableNumber}` for new tables. */
|
|
238
|
+
name?: string;
|
|
239
|
+
/** Worksheet containing the pivot table. */
|
|
240
|
+
worksheetName?: string;
|
|
201
241
|
/** Source data adapter (always present for new pivot tables) */
|
|
202
242
|
source?: PivotTableSource;
|
|
203
243
|
/** Field indices for row fields */
|
|
@@ -218,6 +258,14 @@ export interface PivotTable {
|
|
|
218
258
|
cacheId: string;
|
|
219
259
|
/** Width/height format setting */
|
|
220
260
|
applyWidthHeightFormats: "0" | "1";
|
|
261
|
+
/**
|
|
262
|
+
* Top-left cell anchor for the pivot block (e.g. `"A3"`).
|
|
263
|
+
* When present, overrides the default `A{3+pageOffset}` anchor used by the
|
|
264
|
+
* writer. The anchor represents the cell where the pivot's displayed area
|
|
265
|
+
* starts (page filters if any, followed by a blank row, followed by the
|
|
266
|
+
* pivot body).
|
|
267
|
+
*/
|
|
268
|
+
ref?: string;
|
|
221
269
|
/** 1-indexed table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.) */
|
|
222
270
|
tableNumber: number;
|
|
223
271
|
/** Workbook relationship ID, assigned during write by addWorkbookRels() */
|
|
@@ -230,6 +278,12 @@ export interface PivotTable {
|
|
|
230
278
|
cacheDefinition?: ParsedCacheDefinition;
|
|
231
279
|
/** Cache records for loaded pivot tables */
|
|
232
280
|
cacheRecords?: ParsedCacheRecords;
|
|
281
|
+
/** Root chartFormat attribute used by pivot charts. */
|
|
282
|
+
chartFormat?: number;
|
|
283
|
+
/** Chart format entries used by pivot charts. */
|
|
284
|
+
chartFormats?: PivotTableChartFormat[];
|
|
285
|
+
/** Structured pivot chart metadata attached by addPivotChart/addPivotChartsheet. */
|
|
286
|
+
pivotChartOptions?: PivotChartOptions;
|
|
233
287
|
}
|
|
234
288
|
/**
|
|
235
289
|
* Parsed cache definition from loaded pivot table files.
|
|
@@ -299,5 +353,6 @@ declare function makePivotTable(worksheet: {
|
|
|
299
353
|
workbook: {
|
|
300
354
|
pivotTables: PivotTable[];
|
|
301
355
|
};
|
|
356
|
+
name: string;
|
|
302
357
|
}, model: PivotTableModel): PivotTable;
|
|
303
358
|
export { makePivotTable };
|
|
@@ -183,8 +183,14 @@ function makePivotTable(worksheet, model) {
|
|
|
183
183
|
const nextCacheId = existingCacheIds.length > 0
|
|
184
184
|
? existingCacheIds.reduce((a, b) => (a > b ? a : b), -Infinity) + 1
|
|
185
185
|
: BASE_CACHE_ID + tableNumber - 1;
|
|
186
|
+
// Normalise the optional user-supplied anchor. A range (e.g. "A3:C5") is
|
|
187
|
+
// reduced to its top-left cell; the pivot's own field layout determines the
|
|
188
|
+
// extent of the placeholder location written to XML.
|
|
189
|
+
const ref = normalisePivotRef(model.ref);
|
|
186
190
|
// form pivot table object
|
|
187
191
|
return {
|
|
192
|
+
name: `PivotTable${tableNumber}`,
|
|
193
|
+
worksheetName: worksheet.name,
|
|
188
194
|
source,
|
|
189
195
|
rows: rowIndices,
|
|
190
196
|
columns: columnIndices,
|
|
@@ -198,10 +204,39 @@ function makePivotTable(worksheet, model) {
|
|
|
198
204
|
// '0' = preserve worksheet column widths (useful for custom sizing)
|
|
199
205
|
// '1' = apply pivot table style width/height (default Excel behavior)
|
|
200
206
|
applyWidthHeightFormats: model.applyWidthHeightFormats ?? "1",
|
|
207
|
+
ref,
|
|
201
208
|
// Table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.)
|
|
202
209
|
tableNumber
|
|
203
210
|
};
|
|
204
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Normalise a user-supplied pivot anchor to a canonical top-left cell address
|
|
214
|
+
* (e.g. `"A3"`). Accepts either a single cell or a range; ranges are collapsed
|
|
215
|
+
* to their top-left cell. Returns `undefined` when the input is missing.
|
|
216
|
+
*/
|
|
217
|
+
function normalisePivotRef(ref) {
|
|
218
|
+
if (ref === undefined) {
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
if (typeof ref !== "string" || ref.trim() === "") {
|
|
222
|
+
throw new PivotTableError(`Invalid pivot table ref "${String(ref)}". Provide a cell address like "A3".`);
|
|
223
|
+
}
|
|
224
|
+
// Strip an optional sheet prefix ("Sheet1!A3") so users can pass through
|
|
225
|
+
// range strings composed elsewhere without surprises.
|
|
226
|
+
const trimmed = ref.trim().replace(/^[^!]+!/, "");
|
|
227
|
+
const topLeft = trimmed.includes(":") ? trimmed.split(":", 1)[0] : trimmed;
|
|
228
|
+
let decoded;
|
|
229
|
+
try {
|
|
230
|
+
decoded = colCache.decodeAddress(topLeft);
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
throw new PivotTableError(`Invalid pivot table ref "${ref}". Provide a cell address like "A3".`);
|
|
234
|
+
}
|
|
235
|
+
if (!decoded.col || !decoded.row) {
|
|
236
|
+
throw new PivotTableError(`Invalid pivot table ref "${ref}". Both column and row are required (e.g. "A3").`);
|
|
237
|
+
}
|
|
238
|
+
return `${colCache.n2l(decoded.col)}${decoded.row}`;
|
|
239
|
+
}
|
|
205
240
|
function validate(model, source) {
|
|
206
241
|
const columns = model.columns ?? [];
|
|
207
242
|
const pages = model.pages ?? [];
|
|
@@ -170,10 +170,14 @@ class Range {
|
|
|
170
170
|
get _serialisedSheetName() {
|
|
171
171
|
const { sheetName } = this.model;
|
|
172
172
|
if (sheetName) {
|
|
173
|
+
// Plain ASCII identifiers (and the empty string) need no quoting.
|
|
173
174
|
if (/^[a-zA-Z0-9]*$/.test(sheetName)) {
|
|
174
175
|
return `${sheetName}!`;
|
|
175
176
|
}
|
|
176
|
-
|
|
177
|
+
// Per OOXML / Excel formula syntax, sheet names containing characters
|
|
178
|
+
// outside the bareword set are wrapped in single quotes, and any
|
|
179
|
+
// embedded apostrophes are doubled (e.g. `O'Brien` -> `'O''Brien'`).
|
|
180
|
+
return `'${sheetName.replace(/'/g, "''")}'!`;
|
|
177
181
|
}
|
|
178
182
|
return "";
|
|
179
183
|
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sparkline (mini chart) data model and utilities.
|
|
3
|
+
*
|
|
4
|
+
* Sparklines are cell-sized charts stored in the worksheet extLst under
|
|
5
|
+
* `x14:sparklineGroups`. Each group contains:
|
|
6
|
+
* - display options (type, line weight, markers, axis settings, colors)
|
|
7
|
+
* - one or more sparklines, each pairing a data reference with an anchor cell.
|
|
8
|
+
*
|
|
9
|
+
* Reference: ECMA-376 §18.18.92 + Office Open XML extension `x14` namespace.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Top-level sparkline group — matches `x14:sparklineGroup`.
|
|
13
|
+
*/
|
|
14
|
+
export interface SparklineGroup {
|
|
15
|
+
/** Chart type: line | column | stacked (win-loss) */
|
|
16
|
+
type?: SparklineType;
|
|
17
|
+
/** Line weight in points (0.25 - 2.25) */
|
|
18
|
+
lineWeight?: number;
|
|
19
|
+
/** Display empty cells as: gap, zero, or span */
|
|
20
|
+
displayEmptyCellsAs?: "gap" | "zero" | "span";
|
|
21
|
+
/** Whether to display markers */
|
|
22
|
+
markers?: boolean;
|
|
23
|
+
/** High point marker */
|
|
24
|
+
high?: boolean;
|
|
25
|
+
/** Low point marker */
|
|
26
|
+
low?: boolean;
|
|
27
|
+
/** First point marker */
|
|
28
|
+
first?: boolean;
|
|
29
|
+
/** Last point marker */
|
|
30
|
+
last?: boolean;
|
|
31
|
+
/** Negative point marker */
|
|
32
|
+
negative?: boolean;
|
|
33
|
+
/** Display X axis */
|
|
34
|
+
displayXAxis?: boolean;
|
|
35
|
+
/** Display hidden cells data */
|
|
36
|
+
displayHidden?: boolean;
|
|
37
|
+
/** Min axis type: individual, group, custom */
|
|
38
|
+
minAxisType?: SparklineAxisType;
|
|
39
|
+
/** Max axis type */
|
|
40
|
+
maxAxisType?: SparklineAxisType;
|
|
41
|
+
/** Manual min (when minAxisType === "custom") */
|
|
42
|
+
manualMin?: number;
|
|
43
|
+
/** Manual max (when maxAxisType === "custom") */
|
|
44
|
+
manualMax?: number;
|
|
45
|
+
/** Right-to-left */
|
|
46
|
+
rightToLeft?: boolean;
|
|
47
|
+
/** Color series */
|
|
48
|
+
colorSeries?: SparklineColor;
|
|
49
|
+
/** Color negative */
|
|
50
|
+
colorNegative?: SparklineColor;
|
|
51
|
+
/** Color axis */
|
|
52
|
+
colorAxis?: SparklineColor;
|
|
53
|
+
/** Color markers */
|
|
54
|
+
colorMarkers?: SparklineColor;
|
|
55
|
+
/** Color first */
|
|
56
|
+
colorFirst?: SparklineColor;
|
|
57
|
+
/** Color last */
|
|
58
|
+
colorLast?: SparklineColor;
|
|
59
|
+
/** Color high */
|
|
60
|
+
colorHigh?: SparklineColor;
|
|
61
|
+
/** Color low */
|
|
62
|
+
colorLow?: SparklineColor;
|
|
63
|
+
/** Date axis source (reference range of dates) */
|
|
64
|
+
dateAxis?: string;
|
|
65
|
+
/** Sparklines in this group */
|
|
66
|
+
sparklines: Sparkline[];
|
|
67
|
+
}
|
|
68
|
+
export type SparklineType = "line" | "column" | "stacked";
|
|
69
|
+
export type SparklineAxisType = "individual" | "group" | "custom";
|
|
70
|
+
/**
|
|
71
|
+
* A single sparkline within a group.
|
|
72
|
+
*/
|
|
73
|
+
export interface Sparkline {
|
|
74
|
+
/** Data reference (e.g. "Sheet1!B2:G2") */
|
|
75
|
+
dataRef: string;
|
|
76
|
+
/** Anchor cell reference (e.g. "H2") */
|
|
77
|
+
cellRef: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Sparkline color — theme reference or sRGB.
|
|
81
|
+
*/
|
|
82
|
+
export interface SparklineColor {
|
|
83
|
+
/** Theme index (0-11) */
|
|
84
|
+
theme?: number;
|
|
85
|
+
/** sRGB hex */
|
|
86
|
+
rgb?: string;
|
|
87
|
+
/** Tint (-1 to 1) */
|
|
88
|
+
tint?: number;
|
|
89
|
+
/** Auto color */
|
|
90
|
+
auto?: boolean;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* High-level options for creating a sparkline group.
|
|
94
|
+
*/
|
|
95
|
+
export interface AddSparklineGroupOptions {
|
|
96
|
+
/** Chart type */
|
|
97
|
+
type: SparklineType;
|
|
98
|
+
/** List of sparklines (data + anchor) */
|
|
99
|
+
sparklines: Sparkline[];
|
|
100
|
+
/** Line weight in points */
|
|
101
|
+
lineWeight?: number;
|
|
102
|
+
/** Show markers (line type) */
|
|
103
|
+
markers?: boolean;
|
|
104
|
+
/** Show high point */
|
|
105
|
+
high?: boolean;
|
|
106
|
+
/** Show low point */
|
|
107
|
+
low?: boolean;
|
|
108
|
+
/** Show first point */
|
|
109
|
+
first?: boolean;
|
|
110
|
+
/** Show last point */
|
|
111
|
+
last?: boolean;
|
|
112
|
+
/** Show negative points */
|
|
113
|
+
negative?: boolean;
|
|
114
|
+
/** Line color */
|
|
115
|
+
lineColor?: string;
|
|
116
|
+
/** Negative bar color */
|
|
117
|
+
negativeColor?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Colour for the reference line drawn when {@link displayXAxis} is
|
|
120
|
+
* enabled. Maps to `<x14:colorAxis>` — the horizontal rule that
|
|
121
|
+
* separates positive from negative values on a sparkline.
|
|
122
|
+
*/
|
|
123
|
+
axisColor?: string;
|
|
124
|
+
/**
|
|
125
|
+
* Colour applied to ordinary marker dots (those that are neither
|
|
126
|
+
* first/last/high/low/negative). Maps to `<x14:colorMarkers>`.
|
|
127
|
+
*/
|
|
128
|
+
markerColor?: string;
|
|
129
|
+
/** High marker color */
|
|
130
|
+
highColor?: string;
|
|
131
|
+
/** Low marker color */
|
|
132
|
+
lowColor?: string;
|
|
133
|
+
/** First marker color */
|
|
134
|
+
firstColor?: string;
|
|
135
|
+
/** Last marker color */
|
|
136
|
+
lastColor?: string;
|
|
137
|
+
/** Min axis type */
|
|
138
|
+
minAxisType?: SparklineAxisType;
|
|
139
|
+
/** Max axis type */
|
|
140
|
+
maxAxisType?: SparklineAxisType;
|
|
141
|
+
/** Manual min */
|
|
142
|
+
manualMin?: number;
|
|
143
|
+
/** Manual max */
|
|
144
|
+
manualMax?: number;
|
|
145
|
+
/** Show X axis */
|
|
146
|
+
displayXAxis?: boolean;
|
|
147
|
+
/** Right-to-left */
|
|
148
|
+
rightToLeft?: boolean;
|
|
149
|
+
/** Display empty cells as */
|
|
150
|
+
displayEmptyCellsAs?: "gap" | "zero" | "span";
|
|
151
|
+
/** Date axis source */
|
|
152
|
+
dateAxis?: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Build a SparklineGroup from simplified options.
|
|
156
|
+
*/
|
|
157
|
+
export declare function buildSparklineGroup(opts: AddSparklineGroupOptions): SparklineGroup;
|
|
158
|
+
/**
|
|
159
|
+
* Render all sparkline groups on a worksheet to an x14:sparklineGroups
|
|
160
|
+
* XML fragment. Returns a string (empty if no groups).
|
|
161
|
+
*/
|
|
162
|
+
export declare function renderSparklineGroups(groups: SparklineGroup[]): string;
|
|
163
|
+
/**
|
|
164
|
+
* Parse an x14:sparklineGroups XML fragment into structured groups.
|
|
165
|
+
* Best-effort regex-based parser — sufficient for round-trip via rebuild.
|
|
166
|
+
*/
|
|
167
|
+
export declare function parseSparklineGroups(xml: string): SparklineGroup[];
|
|
168
|
+
/**
|
|
169
|
+
* Options for {@link renderSparklineSvg}.
|
|
170
|
+
*/
|
|
171
|
+
export interface SparklineRenderOptions {
|
|
172
|
+
/** Output width in px (default 120). */
|
|
173
|
+
width?: number;
|
|
174
|
+
/** Output height in px (default 30). */
|
|
175
|
+
height?: number;
|
|
176
|
+
/** Background fill colour. When absent, the SVG has a transparent background. */
|
|
177
|
+
background?: string;
|
|
178
|
+
/** Inner padding in px so markers don't clip against the SVG edges. */
|
|
179
|
+
padding?: number;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Render a sparkline group to a single SVG string given explicit data
|
|
183
|
+
* values for each sparkline in the group. This is a preview-grade
|
|
184
|
+
* renderer suitable for PDF/PNG embedding — Excel ultimately renders
|
|
185
|
+
* sparklines natively from the formula references.
|
|
186
|
+
*
|
|
187
|
+
* Why take `values: number[][]` rather than walk the workbook: the
|
|
188
|
+
* caller already has a worksheet in scope when it wants a preview,
|
|
189
|
+
* and decoupling the renderer from the worksheet keeps this module
|
|
190
|
+
* free of upstream dependencies. When no per-sparkline data is
|
|
191
|
+
* supplied the SVG is rendered empty (just the background) so the
|
|
192
|
+
* function never throws.
|
|
193
|
+
*
|
|
194
|
+
* Respects the group's `type` (`line` / `column` / `stacked`),
|
|
195
|
+
* `displayXAxis`, `minAxisType` / `maxAxisType` / `manualMin` /
|
|
196
|
+
* `manualMax`, markers (`markers`, `first`, `last`, `high`, `low`,
|
|
197
|
+
* `negative`), `rightToLeft`, and all structural colours
|
|
198
|
+
* (`colorSeries`, `colorNegative`, `colorAxis`, `colorMarkers`,
|
|
199
|
+
* `colorHigh`, `colorLow`, `colorFirst`, `colorLast`).
|
|
200
|
+
*
|
|
201
|
+
* The individual sparkline's `cellRef` is not consulted — the caller
|
|
202
|
+
* controls layout at a higher level and this function returns a
|
|
203
|
+
* standalone SVG per sparkline when passed a group with a single
|
|
204
|
+
* member, or a grid-stacked SVG when given multiple members.
|
|
205
|
+
*/
|
|
206
|
+
export declare function renderSparklineSvg(group: SparklineGroup, values: number[][], options?: SparklineRenderOptions): string;
|