@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
|
@@ -430,8 +430,9 @@ class WorksheetWriter {
|
|
|
430
430
|
if (typeof filter === "number") {
|
|
431
431
|
this.conditionalFormatting.splice(filter, 1);
|
|
432
432
|
}
|
|
433
|
-
else if (filter
|
|
434
|
-
|
|
433
|
+
else if (typeof filter === "function") {
|
|
434
|
+
// Predicate selects rules to drop, not rules to keep.
|
|
435
|
+
this.conditionalFormatting = this.conditionalFormatting.filter(cf => !filter(cf));
|
|
435
436
|
}
|
|
436
437
|
else {
|
|
437
438
|
this.conditionalFormatting = [];
|
|
@@ -111,7 +111,10 @@ class Column {
|
|
|
111
111
|
return this.column.style;
|
|
112
112
|
}
|
|
113
113
|
set style(value) {
|
|
114
|
-
|
|
114
|
+
// Use _set so commit() will replay store() and propagate the new style
|
|
115
|
+
// to the on-sheet cells; a bare assignment leaves _cache empty and
|
|
116
|
+
// commit() returns early.
|
|
117
|
+
this._set("style", value);
|
|
115
118
|
}
|
|
116
119
|
get totalsRowLabel() {
|
|
117
120
|
return this.column.totalsRowLabel;
|
|
@@ -237,10 +240,18 @@ class Table {
|
|
|
237
240
|
const { row, col } = table.tl;
|
|
238
241
|
assert(row > 0, "Table must be on valid row");
|
|
239
242
|
assert(col > 0, "Table must be on valid col");
|
|
240
|
-
const { width, tableHeight } = this;
|
|
241
|
-
// autoFilterRef
|
|
242
|
-
//
|
|
243
|
-
table
|
|
243
|
+
const { width, filterHeight, tableHeight } = this;
|
|
244
|
+
// autoFilterRef spans the header + all data rows (excludes the
|
|
245
|
+
// optional totals row). Matches what Excel itself emits: a real
|
|
246
|
+
// `<table ref="A1:C7"><autoFilter ref="A1:C7"/>` uses the same
|
|
247
|
+
// range for both when there's no totals row, and shrinks the
|
|
248
|
+
// autoFilter by one row when a totals row is present. Emitting a
|
|
249
|
+
// single-row range (`A1:C1`) — which the library did previously —
|
|
250
|
+
// made Excel reject the entire table on open with "Removed
|
|
251
|
+
// Records: Table from /xl/tables/tableN.xml part (Table)" because
|
|
252
|
+
// the spec requires the autoFilter range to cover the filterable
|
|
253
|
+
// data.
|
|
254
|
+
table.autoFilterRef = colCache.encode(row, col, row + filterHeight - 1, col + width - 1);
|
|
244
255
|
// tableRef is a range that includes optional headers and totals
|
|
245
256
|
table.tableRef = colCache.encode(row, col, row + tableHeight - 1, col + width - 1);
|
|
246
257
|
table.columns.forEach((column, i) => {
|
|
@@ -477,7 +488,32 @@ class Table {
|
|
|
477
488
|
}
|
|
478
489
|
set name(value) {
|
|
479
490
|
this.cacheState();
|
|
480
|
-
|
|
491
|
+
const newName = sanitizeTableName(value);
|
|
492
|
+
const oldName = this.table.name;
|
|
493
|
+
if (newName === oldName) {
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
// Synchronise the worksheet's table map and the workbook-wide name set
|
|
497
|
+
// so subsequent getTable(newName)/duplicate-name checks remain correct.
|
|
498
|
+
// Falls back to a bare assignment if the worksheet hasn't registered
|
|
499
|
+
// this table (e.g. transient instances built by Worksheet.set model).
|
|
500
|
+
const ws = this.worksheet;
|
|
501
|
+
const tables = ws?.tables;
|
|
502
|
+
const tableNames = ws?.workbook?._tableNames;
|
|
503
|
+
if (tables && tables[oldName] === this) {
|
|
504
|
+
const newKey = newName.toLowerCase();
|
|
505
|
+
const oldKey = oldName.toLowerCase();
|
|
506
|
+
if (newKey !== oldKey && tableNames?.has(newKey)) {
|
|
507
|
+
throw new TableError(`Table name "${newName}" already exists in the workbook (case-insensitive).`);
|
|
508
|
+
}
|
|
509
|
+
delete tables[oldName];
|
|
510
|
+
tables[newName] = this;
|
|
511
|
+
if (tableNames) {
|
|
512
|
+
tableNames.delete(oldKey);
|
|
513
|
+
tableNames.add(newKey);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
this.table.name = newName;
|
|
481
517
|
}
|
|
482
518
|
get displayName() {
|
|
483
519
|
return this.table.displayName || this.table.name;
|
|
@@ -379,6 +379,78 @@ export interface Comment {
|
|
|
379
379
|
margins?: Partial<CommentMargins>;
|
|
380
380
|
protection?: Partial<CommentProtection>;
|
|
381
381
|
editAs?: CommentEditAs;
|
|
382
|
+
/**
|
|
383
|
+
* Office 365 threaded-comment conversation anchored at the same
|
|
384
|
+
* cell. When present, Excel surfaces the modern reply UI; the
|
|
385
|
+
* classic VML note still renders as a fallback for older viewers.
|
|
386
|
+
*
|
|
387
|
+
* The first entry in the list is the top-level comment; subsequent
|
|
388
|
+
* entries with `parentId === first.id` are replies to it. Nested
|
|
389
|
+
* threads beyond two levels are not supported by Excel itself.
|
|
390
|
+
*/
|
|
391
|
+
threadedComments?: ThreadedComment[];
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* A single entry in a threaded-comment conversation
|
|
395
|
+
* (`xl/threadedComments/threadedComment{N}.xml` →
|
|
396
|
+
* `<threadedComment ref="…" personId="…" id="…" parentId="…">`).
|
|
397
|
+
*
|
|
398
|
+
* `id` is a GUID-braced string Excel expects to uniquely identify the
|
|
399
|
+
* comment within the sheet; callers may omit it and let the writer
|
|
400
|
+
* synthesise one. `personId` must reference an entry in the
|
|
401
|
+
* workbook-level {@link ThreadedCommentPerson} list — the writer
|
|
402
|
+
* enforces this by adding any dangling `personId` to the list with a
|
|
403
|
+
* placeholder displayName.
|
|
404
|
+
*/
|
|
405
|
+
export interface ThreadedComment {
|
|
406
|
+
/** `{GUID}`-style id; auto-generated if absent. */
|
|
407
|
+
id?: string;
|
|
408
|
+
/**
|
|
409
|
+
* Id of the parent comment when this entry is a reply. Absent for
|
|
410
|
+
* top-level comments.
|
|
411
|
+
*/
|
|
412
|
+
parentId?: string;
|
|
413
|
+
/** Reference to the author in the workbook persons list. */
|
|
414
|
+
personId: string;
|
|
415
|
+
/** Creation timestamp as an ISO-8601 string. */
|
|
416
|
+
date?: string;
|
|
417
|
+
/** Plain-text body. @mentions are expressed separately via {@link mentions}. */
|
|
418
|
+
text: string;
|
|
419
|
+
/**
|
|
420
|
+
* Structured `@mention` markers inside `text`. `startIndex`/`length`
|
|
421
|
+
* point at the substring Excel shows as a clickable mention.
|
|
422
|
+
*/
|
|
423
|
+
mentions?: ThreadedCommentMention[];
|
|
424
|
+
/**
|
|
425
|
+
* Whether Excel marks this comment as "resolved". Corresponds to
|
|
426
|
+
* `done="1"` on the commentExt element. When undefined, Excel treats
|
|
427
|
+
* the thread as open.
|
|
428
|
+
*/
|
|
429
|
+
done?: boolean;
|
|
430
|
+
}
|
|
431
|
+
export interface ThreadedCommentMention {
|
|
432
|
+
mentionId?: string;
|
|
433
|
+
mentionPersonId: string;
|
|
434
|
+
startIndex: number;
|
|
435
|
+
length: number;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Workbook-level person directory referenced by threaded comments.
|
|
439
|
+
* Written as `xl/persons/person.xml`; one `<person>` element per
|
|
440
|
+
* unique commenter.
|
|
441
|
+
*/
|
|
442
|
+
export interface ThreadedCommentPerson {
|
|
443
|
+
/** `{GUID}`-style id referenced by `threadedComment/@personId`. */
|
|
444
|
+
id: string;
|
|
445
|
+
/** Display name shown in the UI (e.g. "Jane Doe"). */
|
|
446
|
+
displayName: string;
|
|
447
|
+
/** Provider user id (e.g. "jane@example.com", "S-1-5-…"). */
|
|
448
|
+
userId?: string;
|
|
449
|
+
/**
|
|
450
|
+
* Identity provider — "AD" (Active Directory), "PeoplePicker",
|
|
451
|
+
* "None". Excel preserves unknown values verbatim.
|
|
452
|
+
*/
|
|
453
|
+
providerId?: string;
|
|
382
454
|
}
|
|
383
455
|
export type DataValidationOperator = "between" | "notBetween" | "equal" | "notEqual" | "greaterThan" | "lessThan" | "greaterThanOrEqual" | "lessThanOrEqual";
|
|
384
456
|
/** Base properties shared by all data validation types */
|
|
@@ -74,3 +74,21 @@ export declare function decodeRange(range: string): SheetRange;
|
|
|
74
74
|
*/
|
|
75
75
|
export declare function encodeRange(range: SheetRange): string;
|
|
76
76
|
export declare function encodeRange(start: CellAddress, end: CellAddress): string;
|
|
77
|
+
/**
|
|
78
|
+
* Excel allows unquoted sheet names only when they consist entirely of
|
|
79
|
+
* ASCII letters, digits, and underscores *and* do not start with a digit.
|
|
80
|
+
* Any sheet name with a space, dot, comma, bracket, `&`, CJK character,
|
|
81
|
+
* or any other non-trivial symbol must be wrapped in single quotes, with
|
|
82
|
+
* existing single quotes doubled.
|
|
83
|
+
*
|
|
84
|
+
* Shared helper so chart-api, pivot-chart, cache-populator, and the XForm
|
|
85
|
+
* layer all agree on the rule — before this was unified, three callers
|
|
86
|
+
* in the chart module used three different regexes, producing divergent
|
|
87
|
+
* formula strings for sheet names with punctuation.
|
|
88
|
+
*
|
|
89
|
+
* @example quoteSheetName("Sheet1") // "Sheet1"
|
|
90
|
+
* @example quoteSheetName("My Sheet") // "'My Sheet'"
|
|
91
|
+
* @example quoteSheetName("It's Fine") // "'It''s Fine'"
|
|
92
|
+
* @example quoteSheetName("2023 Data") // "'2023 Data'" (leading digit → quoted)
|
|
93
|
+
*/
|
|
94
|
+
export declare function quoteSheetName(sheetName: string): string;
|
|
@@ -95,3 +95,31 @@ export function encodeRange(startOrRange, end) {
|
|
|
95
95
|
const endStr = encodeCell(end);
|
|
96
96
|
return startStr === endStr ? startStr : `${startStr}:${endStr}`;
|
|
97
97
|
}
|
|
98
|
+
// =============================================================================
|
|
99
|
+
// Sheet name quoting (Excel formula references)
|
|
100
|
+
// =============================================================================
|
|
101
|
+
/**
|
|
102
|
+
* Excel allows unquoted sheet names only when they consist entirely of
|
|
103
|
+
* ASCII letters, digits, and underscores *and* do not start with a digit.
|
|
104
|
+
* Any sheet name with a space, dot, comma, bracket, `&`, CJK character,
|
|
105
|
+
* or any other non-trivial symbol must be wrapped in single quotes, with
|
|
106
|
+
* existing single quotes doubled.
|
|
107
|
+
*
|
|
108
|
+
* Shared helper so chart-api, pivot-chart, cache-populator, and the XForm
|
|
109
|
+
* layer all agree on the rule — before this was unified, three callers
|
|
110
|
+
* in the chart module used three different regexes, producing divergent
|
|
111
|
+
* formula strings for sheet names with punctuation.
|
|
112
|
+
*
|
|
113
|
+
* @example quoteSheetName("Sheet1") // "Sheet1"
|
|
114
|
+
* @example quoteSheetName("My Sheet") // "'My Sheet'"
|
|
115
|
+
* @example quoteSheetName("It's Fine") // "'It''s Fine'"
|
|
116
|
+
* @example quoteSheetName("2023 Data") // "'2023 Data'" (leading digit → quoted)
|
|
117
|
+
*/
|
|
118
|
+
export function quoteSheetName(sheetName) {
|
|
119
|
+
// Leading digit forces quoting even with an otherwise clean name —
|
|
120
|
+
// Excel would otherwise parse `2023Data!A1` as a numeric literal.
|
|
121
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(sheetName)) {
|
|
122
|
+
return `'${sheetName.replace(/'/g, "''")}'`;
|
|
123
|
+
}
|
|
124
|
+
return sheetName;
|
|
125
|
+
}
|
|
@@ -101,20 +101,25 @@ export function filterDrawingAnchors(anchors) {
|
|
|
101
101
|
if (a == null) {
|
|
102
102
|
return false;
|
|
103
103
|
}
|
|
104
|
-
// Absolute anchors need a
|
|
104
|
+
// Absolute anchors need either a picture (image with pos+ext) or a
|
|
105
|
+
// graphicFrame (chart placed via `{ pos, ext }`). The previous
|
|
106
|
+
// filter returned `!!a.picture` for every absolute anchor,
|
|
107
|
+
// silently dropping every chart anchored via `{ pos: { x, y },
|
|
108
|
+
// ext: { cx, cy } }` on write — the drawing XML came out empty
|
|
109
|
+
// and the chart disappeared from the saved file.
|
|
105
110
|
if (a.range?.pos !== undefined) {
|
|
106
|
-
return !!a.picture;
|
|
111
|
+
return !!a.picture || !!a.graphicFrame || !!a.shape;
|
|
107
112
|
}
|
|
108
113
|
// Form controls have range.br and shape properties
|
|
109
114
|
if (a.range?.br && a.shape) {
|
|
110
115
|
return true;
|
|
111
116
|
}
|
|
112
|
-
// One-cell anchors need a valid picture
|
|
113
|
-
if (!a.range?.br && !a.picture) {
|
|
117
|
+
// One-cell anchors need a valid picture or graphicFrame (charts)
|
|
118
|
+
if (!a.range?.br && !a.picture && !a.graphicFrame) {
|
|
114
119
|
return false;
|
|
115
120
|
}
|
|
116
|
-
// Two-cell anchors need either picture or
|
|
117
|
-
if (a.range?.br && !a.picture && !a.shape) {
|
|
121
|
+
// Two-cell anchors need either picture, shape, or graphicFrame (charts)
|
|
122
|
+
if (a.range?.br && !a.picture && !a.shape && !a.graphicFrame) {
|
|
118
123
|
return false;
|
|
119
124
|
}
|
|
120
125
|
return true;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GUID helpers for OOXML.
|
|
3
|
+
*
|
|
4
|
+
* Office parts that need stable cross-reference ids (threaded comments,
|
|
5
|
+
* chart uniqueIds, slicer caches, …) use the canonical Microsoft
|
|
6
|
+
* `{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}` format — 32 uppercase hex
|
|
7
|
+
* characters split into 8-4-4-4-12 groups, surrounded by braces.
|
|
8
|
+
*
|
|
9
|
+
* `synthGuid()` returns an RFC-4122 version-4-compatible value suitable
|
|
10
|
+
* for those callers. We don't use `crypto.randomUUID()` directly because
|
|
11
|
+
* it isn't available in every supported runtime (older Node without
|
|
12
|
+
* `node:crypto` globals); `Math.random` is good enough for uniqueness
|
|
13
|
+
* within a single workbook, which is the only thing Office cares about.
|
|
14
|
+
*/
|
|
15
|
+
export declare function synthGuid(): string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GUID helpers for OOXML.
|
|
3
|
+
*
|
|
4
|
+
* Office parts that need stable cross-reference ids (threaded comments,
|
|
5
|
+
* chart uniqueIds, slicer caches, …) use the canonical Microsoft
|
|
6
|
+
* `{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}` format — 32 uppercase hex
|
|
7
|
+
* characters split into 8-4-4-4-12 groups, surrounded by braces.
|
|
8
|
+
*
|
|
9
|
+
* `synthGuid()` returns an RFC-4122 version-4-compatible value suitable
|
|
10
|
+
* for those callers. We don't use `crypto.randomUUID()` directly because
|
|
11
|
+
* it isn't available in every supported runtime (older Node without
|
|
12
|
+
* `node:crypto` globals); `Math.random` is good enough for uniqueness
|
|
13
|
+
* within a single workbook, which is the only thing Office cares about.
|
|
14
|
+
*/
|
|
15
|
+
export function synthGuid() {
|
|
16
|
+
const hex = "0123456789ABCDEF";
|
|
17
|
+
let out = "";
|
|
18
|
+
for (let i = 0; i < 32; i++) {
|
|
19
|
+
// Version 4: bit 48 (13th hex digit) is always '4'.
|
|
20
|
+
// Variant 10xx: bit 64 (17th hex digit) is one of 8, 9, A, B.
|
|
21
|
+
if (i === 12) {
|
|
22
|
+
out += "4";
|
|
23
|
+
}
|
|
24
|
+
else if (i === 16) {
|
|
25
|
+
out += hex[8 + Math.floor(Math.random() * 4)];
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
out += hex[Math.floor(Math.random() * 16)];
|
|
29
|
+
}
|
|
30
|
+
if (i === 7 || i === 11 || i === 15 || i === 19) {
|
|
31
|
+
out += "-";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
@@ -21,6 +21,14 @@ export declare function getThemeNameFromPath(path: string): string | undefined;
|
|
|
21
21
|
export declare function isBinaryEntryPath(path: string): boolean;
|
|
22
22
|
export declare function getDrawingNameFromPath(path: string): string | undefined;
|
|
23
23
|
export declare function getDrawingNameFromRelsPath(path: string): string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Canonical filename stem for a chart-overlay drawing part — used by
|
|
26
|
+
* the reader to recognise `xl/drawings/chartUserShapeN.xml` entries
|
|
27
|
+
* and stash their bytes for post-load reconciliation onto the owning
|
|
28
|
+
* chart. Returns `undefined` for any other path, including regular
|
|
29
|
+
* worksheet drawings (those go through {@link getDrawingNameFromPath}).
|
|
30
|
+
*/
|
|
31
|
+
export declare function getChartUserShapesNameFromPath(path: string): string | undefined;
|
|
24
32
|
export declare function getVmlDrawingNameFromPath(path: string): string | undefined;
|
|
25
33
|
export declare function getVmlDrawingHFNameFromPath(path: string): string | undefined;
|
|
26
34
|
/**
|
|
@@ -52,6 +60,22 @@ export declare function worksheetRelsPath(sheetId: number | string): string;
|
|
|
52
60
|
export declare function worksheetRelTarget(sheetId: number | string): string;
|
|
53
61
|
export declare function commentsPath(sheetId: number | string): string;
|
|
54
62
|
export declare function commentsPathFromName(commentName: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Modern Office 365 "threaded comments" — separate from classic VML
|
|
65
|
+
* comments. Each worksheet that uses threaded comments has its own
|
|
66
|
+
* `xl/threadedComments/threadedComment{N}.xml` part alongside the
|
|
67
|
+
* legacy `xl/comments{N}.xml` (classic comments carry a fallback text
|
|
68
|
+
* representation, threaded comments carry the conversation tree).
|
|
69
|
+
*/
|
|
70
|
+
export declare function threadedCommentsPath(sheetId: number | string): string;
|
|
71
|
+
export declare function threadedCommentsPathFromName(name: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* Modern Office 365 "persons" list — the directory of commenters
|
|
74
|
+
* referenced by `threadedComment/@personId`. Workbook-level single
|
|
75
|
+
* part (`xl/persons/person.xml` is the conventional filename for the
|
|
76
|
+
* primary, rarely-duplicated list).
|
|
77
|
+
*/
|
|
78
|
+
export declare function personsPath(): string;
|
|
55
79
|
export declare function vmlDrawingPath(sheetId: number | string): string;
|
|
56
80
|
export declare function vmlDrawingHFPath(sheetId: number | string): string;
|
|
57
81
|
export declare function vmlDrawingHFRelsPath(sheetId: number | string): string;
|
|
@@ -89,6 +113,50 @@ export declare function pivotTableRelTargetFromWorksheet(n: number | string): st
|
|
|
89
113
|
export declare function tableRelTargetFromWorksheet(target: string): string;
|
|
90
114
|
export declare function mediaRelTargetFromRels(filename: string): string;
|
|
91
115
|
export declare function ctrlPropPath(id: number | string): string;
|
|
116
|
+
export declare function getChartNumberFromPath(path: string): number | undefined;
|
|
117
|
+
export declare function getChartNumberFromRelsPath(path: string): number | undefined;
|
|
118
|
+
export declare function getChartStyleNumberFromPath(path: string): number | undefined;
|
|
119
|
+
export declare function getChartColorsNumberFromPath(path: string): number | undefined;
|
|
120
|
+
export declare function getChartExStyleNumberFromPath(path: string): number | undefined;
|
|
121
|
+
export declare function getChartExColorsNumberFromPath(path: string): number | undefined;
|
|
122
|
+
export declare function chartPath(n: number | string): string;
|
|
123
|
+
export declare function chartRelsPath(n: number | string): string;
|
|
124
|
+
export declare function chartStylePath(n: number | string): string;
|
|
125
|
+
export declare function chartColorsPath(n: number | string): string;
|
|
126
|
+
export declare function chartExStylePath(n: number | string): string;
|
|
127
|
+
export declare function chartExColorsPath(n: number | string): string;
|
|
128
|
+
export declare function chartRelTargetFromDrawing(n: number | string): string;
|
|
129
|
+
/**
|
|
130
|
+
* Path of the DrawingML overlay part backing a chart's `c:userShapes`
|
|
131
|
+
* reference. Placed under `xl/drawings/` with a `chartUserShape` prefix
|
|
132
|
+
* (rather than sharing the regular `drawingN` pool) so the writer can
|
|
133
|
+
* allocate it by chart number without colliding with worksheet
|
|
134
|
+
* drawings. Excel itself is indifferent to the part path — only the
|
|
135
|
+
* rel target matters — so files loaded with a different original
|
|
136
|
+
* path are renamed on write.
|
|
137
|
+
*/
|
|
138
|
+
export declare function chartUserShapesPath(n: number | string): string;
|
|
139
|
+
/**
|
|
140
|
+
* Target path emitted inside `xl/charts/_rels/chartN.xml.rels` for the
|
|
141
|
+
* user-shapes drawing part. Resolved relative to the rels file's
|
|
142
|
+
* base directory (`xl/charts/`).
|
|
143
|
+
*/
|
|
144
|
+
export declare function chartUserShapesRelTarget(n: number | string): string;
|
|
145
|
+
export declare function chartStyleRelTarget(n: number | string): string;
|
|
146
|
+
export declare function chartColorsRelTarget(n: number | string): string;
|
|
147
|
+
export declare function chartExStyleRelTarget(n: number | string): string;
|
|
148
|
+
export declare function chartExColorsRelTarget(n: number | string): string;
|
|
149
|
+
export declare function isChartPath(path: string): boolean;
|
|
150
|
+
export declare function isChartStylePath(path: string): boolean;
|
|
151
|
+
export declare function isChartColorsPath(path: string): boolean;
|
|
152
|
+
export declare function isChartRelsPath(path: string): boolean;
|
|
153
|
+
export declare function getChartExNumberFromPath(path: string): number | undefined;
|
|
154
|
+
export declare function getChartExNumberFromRelsPath(path: string): number | undefined;
|
|
155
|
+
export declare function chartExPath(n: number | string): string;
|
|
156
|
+
export declare function chartExRelsPath(n: number | string): string;
|
|
157
|
+
export declare function chartExRelTargetFromDrawing(n: number | string): string;
|
|
158
|
+
export declare function isChartExPath(path: string): boolean;
|
|
159
|
+
export declare function isChartExRelsPath(path: string): boolean;
|
|
92
160
|
export declare function ctrlPropRelTargetFromWorksheet(id: number | string): string;
|
|
93
161
|
/**
|
|
94
162
|
* Resolve a relationship Target (relative or absolute) to a normalized zip path.
|
|
@@ -101,3 +169,9 @@ export declare function ctrlPropRelTargetFromWorksheet(id: number | string): str
|
|
|
101
169
|
* @param target The raw Target value from the .rels file
|
|
102
170
|
*/
|
|
103
171
|
export declare function resolveRelTarget(baseDir: string, target: string): string;
|
|
172
|
+
export declare function getChartsheetNoFromPath(path: string): number | undefined;
|
|
173
|
+
export declare function getChartsheetNoFromRelsPath(path: string): number | undefined;
|
|
174
|
+
export declare function chartsheetPath(n: number | string): string;
|
|
175
|
+
export declare function chartsheetRelsPath(n: number | string): string;
|
|
176
|
+
export declare function isChartsheetPath(path: string): boolean;
|
|
177
|
+
export declare function isChartsheetRelsPath(path: string): boolean;
|
|
@@ -17,6 +17,16 @@ const themeXmlRegex = /^xl\/theme\/[a-zA-Z0-9]+[.]xml$/;
|
|
|
17
17
|
const mediaFilenameRegex = /^xl\/media\/([a-zA-Z0-9]+[.][a-zA-Z0-9]{3,4})$/;
|
|
18
18
|
const drawingXmlRegex = /^xl\/drawings\/(drawing\d+)[.]xml$/;
|
|
19
19
|
const drawingRelsXmlRegex = /^xl\/drawings\/_rels\/(drawing\d+)[.]xml[.]rels$/;
|
|
20
|
+
// `chartUserShape` is the canonical stem Excel and this library emit,
|
|
21
|
+
// but OOXML does not mandate any particular filename — the chart part
|
|
22
|
+
// discovers its user-shape drawing via the `.rels` relationship type,
|
|
23
|
+
// not by path. Widen the regex to also accept the plural form and
|
|
24
|
+
// a common third-party variant so foreign packages round-trip without
|
|
25
|
+
// silently dropping the overlay drawing. Packages that name the part
|
|
26
|
+
// entirely differently (e.g. `drawing5.xml` referenced via the
|
|
27
|
+
// `chartUserShapes` rel type) still require the relationship-based
|
|
28
|
+
// discovery path; that's a separate fix tracked against the reader.
|
|
29
|
+
const chartUserShapesXmlRegex = /^xl\/drawings\/((?:chartUserShape|chartUserShapes|userDrawing)\d+)[.]xml$/;
|
|
20
30
|
const vmlDrawingRegex = /^xl\/drawings\/(vmlDrawing\d+)[.]vml$/;
|
|
21
31
|
const vmlDrawingHFRegex = /^xl\/drawings\/(vmlDrawingHF\d+)[.]vml$/;
|
|
22
32
|
// Matches both flat layout (xl/comments1.xml) and subdirectory layout (xl/comments/comment1.xml).
|
|
@@ -75,6 +85,17 @@ export function getDrawingNameFromRelsPath(path) {
|
|
|
75
85
|
const match = drawingRelsXmlRegex.exec(path);
|
|
76
86
|
return match ? match[1] : undefined;
|
|
77
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Canonical filename stem for a chart-overlay drawing part — used by
|
|
90
|
+
* the reader to recognise `xl/drawings/chartUserShapeN.xml` entries
|
|
91
|
+
* and stash their bytes for post-load reconciliation onto the owning
|
|
92
|
+
* chart. Returns `undefined` for any other path, including regular
|
|
93
|
+
* worksheet drawings (those go through {@link getDrawingNameFromPath}).
|
|
94
|
+
*/
|
|
95
|
+
export function getChartUserShapesNameFromPath(path) {
|
|
96
|
+
const match = chartUserShapesXmlRegex.exec(path);
|
|
97
|
+
return match ? match[1] : undefined;
|
|
98
|
+
}
|
|
78
99
|
export function getVmlDrawingNameFromPath(path) {
|
|
79
100
|
const match = vmlDrawingRegex.exec(path);
|
|
80
101
|
return match ? match[1] : undefined;
|
|
@@ -156,6 +177,28 @@ export function commentsPathFromName(commentName) {
|
|
|
156
177
|
// For comments when the caller already has the logical name (e.g. "comments1").
|
|
157
178
|
return `xl/${commentName}.xml`;
|
|
158
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Modern Office 365 "threaded comments" — separate from classic VML
|
|
182
|
+
* comments. Each worksheet that uses threaded comments has its own
|
|
183
|
+
* `xl/threadedComments/threadedComment{N}.xml` part alongside the
|
|
184
|
+
* legacy `xl/comments{N}.xml` (classic comments carry a fallback text
|
|
185
|
+
* representation, threaded comments carry the conversation tree).
|
|
186
|
+
*/
|
|
187
|
+
export function threadedCommentsPath(sheetId) {
|
|
188
|
+
return `xl/threadedComments/threadedComment${sheetId}.xml`;
|
|
189
|
+
}
|
|
190
|
+
export function threadedCommentsPathFromName(name) {
|
|
191
|
+
return `xl/threadedComments/${name}.xml`;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Modern Office 365 "persons" list — the directory of commenters
|
|
195
|
+
* referenced by `threadedComment/@personId`. Workbook-level single
|
|
196
|
+
* part (`xl/persons/person.xml` is the conventional filename for the
|
|
197
|
+
* primary, rarely-duplicated list).
|
|
198
|
+
*/
|
|
199
|
+
export function personsPath() {
|
|
200
|
+
return "xl/persons/person.xml";
|
|
201
|
+
}
|
|
159
202
|
export function vmlDrawingPath(sheetId) {
|
|
160
203
|
return `xl/drawings/vmlDrawing${sheetId}.vml`;
|
|
161
204
|
}
|
|
@@ -256,6 +299,133 @@ export function mediaRelTargetFromRels(filename) {
|
|
|
256
299
|
export function ctrlPropPath(id) {
|
|
257
300
|
return `xl/ctrlProps/ctrlProp${id}.xml`;
|
|
258
301
|
}
|
|
302
|
+
// -------- Charts --------
|
|
303
|
+
const chartXmlRegex = /^xl\/charts\/chart(\d+)[.]xml$/;
|
|
304
|
+
const chartRelsXmlRegex = /^xl\/charts\/_rels\/chart(\d+)[.]xml[.]rels$/;
|
|
305
|
+
const chartStyleXmlRegex = /^xl\/charts\/style(\d+)[.]xml$/;
|
|
306
|
+
const chartColorsXmlRegex = /^xl\/charts\/colors(\d+)[.]xml$/;
|
|
307
|
+
const chartExStyleXmlRegex = /^xl\/charts\/styleEx(\d+)[.]xml$/;
|
|
308
|
+
const chartExColorsXmlRegex = /^xl\/charts\/colorsEx(\d+)[.]xml$/;
|
|
309
|
+
export function getChartNumberFromPath(path) {
|
|
310
|
+
const match = chartXmlRegex.exec(path);
|
|
311
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
312
|
+
}
|
|
313
|
+
export function getChartNumberFromRelsPath(path) {
|
|
314
|
+
const match = chartRelsXmlRegex.exec(path);
|
|
315
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
316
|
+
}
|
|
317
|
+
export function getChartStyleNumberFromPath(path) {
|
|
318
|
+
const match = chartStyleXmlRegex.exec(path);
|
|
319
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
320
|
+
}
|
|
321
|
+
export function getChartColorsNumberFromPath(path) {
|
|
322
|
+
const match = chartColorsXmlRegex.exec(path);
|
|
323
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
324
|
+
}
|
|
325
|
+
export function getChartExStyleNumberFromPath(path) {
|
|
326
|
+
const match = chartExStyleXmlRegex.exec(path);
|
|
327
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
328
|
+
}
|
|
329
|
+
export function getChartExColorsNumberFromPath(path) {
|
|
330
|
+
const match = chartExColorsXmlRegex.exec(path);
|
|
331
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
332
|
+
}
|
|
333
|
+
export function chartPath(n) {
|
|
334
|
+
return `xl/charts/chart${n}.xml`;
|
|
335
|
+
}
|
|
336
|
+
export function chartRelsPath(n) {
|
|
337
|
+
return `xl/charts/_rels/chart${n}.xml.rels`;
|
|
338
|
+
}
|
|
339
|
+
export function chartStylePath(n) {
|
|
340
|
+
return `xl/charts/style${n}.xml`;
|
|
341
|
+
}
|
|
342
|
+
export function chartColorsPath(n) {
|
|
343
|
+
return `xl/charts/colors${n}.xml`;
|
|
344
|
+
}
|
|
345
|
+
export function chartExStylePath(n) {
|
|
346
|
+
return `xl/charts/styleEx${n}.xml`;
|
|
347
|
+
}
|
|
348
|
+
export function chartExColorsPath(n) {
|
|
349
|
+
return `xl/charts/colorsEx${n}.xml`;
|
|
350
|
+
}
|
|
351
|
+
export function chartRelTargetFromDrawing(n) {
|
|
352
|
+
// Target inside xl/drawings/_rels/drawingN.xml.rels (base: xl/drawings/)
|
|
353
|
+
return `../charts/chart${n}.xml`;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Path of the DrawingML overlay part backing a chart's `c:userShapes`
|
|
357
|
+
* reference. Placed under `xl/drawings/` with a `chartUserShape` prefix
|
|
358
|
+
* (rather than sharing the regular `drawingN` pool) so the writer can
|
|
359
|
+
* allocate it by chart number without colliding with worksheet
|
|
360
|
+
* drawings. Excel itself is indifferent to the part path — only the
|
|
361
|
+
* rel target matters — so files loaded with a different original
|
|
362
|
+
* path are renamed on write.
|
|
363
|
+
*/
|
|
364
|
+
export function chartUserShapesPath(n) {
|
|
365
|
+
return `xl/drawings/chartUserShape${n}.xml`;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Target path emitted inside `xl/charts/_rels/chartN.xml.rels` for the
|
|
369
|
+
* user-shapes drawing part. Resolved relative to the rels file's
|
|
370
|
+
* base directory (`xl/charts/`).
|
|
371
|
+
*/
|
|
372
|
+
export function chartUserShapesRelTarget(n) {
|
|
373
|
+
return `../drawings/chartUserShape${n}.xml`;
|
|
374
|
+
}
|
|
375
|
+
export function chartStyleRelTarget(n) {
|
|
376
|
+
// Target inside xl/charts/_rels/chartN.xml.rels (base: xl/charts/)
|
|
377
|
+
return `style${n}.xml`;
|
|
378
|
+
}
|
|
379
|
+
export function chartColorsRelTarget(n) {
|
|
380
|
+
// Target inside xl/charts/_rels/chartN.xml.rels (base: xl/charts/)
|
|
381
|
+
return `colors${n}.xml`;
|
|
382
|
+
}
|
|
383
|
+
export function chartExStyleRelTarget(n) {
|
|
384
|
+
return `styleEx${n}.xml`;
|
|
385
|
+
}
|
|
386
|
+
export function chartExColorsRelTarget(n) {
|
|
387
|
+
return `colorsEx${n}.xml`;
|
|
388
|
+
}
|
|
389
|
+
export function isChartPath(path) {
|
|
390
|
+
return chartXmlRegex.test(path);
|
|
391
|
+
}
|
|
392
|
+
export function isChartStylePath(path) {
|
|
393
|
+
return chartStyleXmlRegex.test(path);
|
|
394
|
+
}
|
|
395
|
+
export function isChartColorsPath(path) {
|
|
396
|
+
return chartColorsXmlRegex.test(path);
|
|
397
|
+
}
|
|
398
|
+
export function isChartRelsPath(path) {
|
|
399
|
+
return chartRelsXmlRegex.test(path);
|
|
400
|
+
}
|
|
401
|
+
// ============================================================================
|
|
402
|
+
// Chart Ex (Office 2016+ extended charts: treemap, sunburst, waterfall, etc.)
|
|
403
|
+
// ============================================================================
|
|
404
|
+
const chartExXmlRegex = /^xl\/charts\/chartEx(\d+)[.]xml$/;
|
|
405
|
+
const chartExRelsXmlRegex = /^xl\/charts\/_rels\/chartEx(\d+)[.]xml[.]rels$/;
|
|
406
|
+
export function getChartExNumberFromPath(path) {
|
|
407
|
+
const match = chartExXmlRegex.exec(path);
|
|
408
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
409
|
+
}
|
|
410
|
+
export function getChartExNumberFromRelsPath(path) {
|
|
411
|
+
const match = chartExRelsXmlRegex.exec(path);
|
|
412
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
413
|
+
}
|
|
414
|
+
export function chartExPath(n) {
|
|
415
|
+
return `xl/charts/chartEx${n}.xml`;
|
|
416
|
+
}
|
|
417
|
+
export function chartExRelsPath(n) {
|
|
418
|
+
return `xl/charts/_rels/chartEx${n}.xml.rels`;
|
|
419
|
+
}
|
|
420
|
+
export function chartExRelTargetFromDrawing(n) {
|
|
421
|
+
return `../charts/chartEx${n}.xml`;
|
|
422
|
+
}
|
|
423
|
+
export function isChartExPath(path) {
|
|
424
|
+
return chartExXmlRegex.test(path);
|
|
425
|
+
}
|
|
426
|
+
export function isChartExRelsPath(path) {
|
|
427
|
+
return chartExRelsXmlRegex.test(path);
|
|
428
|
+
}
|
|
259
429
|
export function ctrlPropRelTargetFromWorksheet(id) {
|
|
260
430
|
// Target inside xl/worksheets/_rels/sheetN.xml.rels (base: xl/worksheets/)
|
|
261
431
|
return `../ctrlProps/ctrlProp${id}.xml`;
|
|
@@ -271,15 +441,17 @@ export function ctrlPropRelTargetFromWorksheet(id) {
|
|
|
271
441
|
* @param target The raw Target value from the .rels file
|
|
272
442
|
*/
|
|
273
443
|
export function resolveRelTarget(baseDir, target) {
|
|
274
|
-
//
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
//
|
|
279
|
-
|
|
280
|
-
//
|
|
281
|
-
|
|
282
|
-
|
|
444
|
+
// Normalise every path through the same split / `.` / `..` collapse
|
|
445
|
+
// so absolute targets with `..` segments (legal per OPC, emitted by
|
|
446
|
+
// some third-party producers like LibreOffice for cross-folder rels
|
|
447
|
+
// such as `/xl/worksheets/../charts/chart1.xml`) resolve to a
|
|
448
|
+
// canonical zip path. Previously the absolute branch returned
|
|
449
|
+
// `target.slice(1)` verbatim — every downstream `_chartRels[path]`
|
|
450
|
+
// lookup then missed because the stored keys are canonical.
|
|
451
|
+
const rawPath = target.startsWith("/")
|
|
452
|
+
? target.slice(1)
|
|
453
|
+
: `${baseDir.endsWith("/") ? baseDir : baseDir + "/"}${target}`;
|
|
454
|
+
const parts = rawPath.split("/");
|
|
283
455
|
const resolved = [];
|
|
284
456
|
for (const part of parts) {
|
|
285
457
|
if (part === "." || part === "") {
|
|
@@ -294,3 +466,28 @@ export function resolveRelTarget(baseDir, target) {
|
|
|
294
466
|
}
|
|
295
467
|
return resolved.join("/");
|
|
296
468
|
}
|
|
469
|
+
// ============================================================================
|
|
470
|
+
// Chartsheet paths
|
|
471
|
+
// ============================================================================
|
|
472
|
+
const chartsheetXmlRegex = /^xl\/chartsheets\/sheet(\d+)[.]xml$/;
|
|
473
|
+
const chartsheetRelsXmlRegex = /^xl\/chartsheets\/_rels\/sheet(\d+)[.]xml[.]rels$/;
|
|
474
|
+
export function getChartsheetNoFromPath(path) {
|
|
475
|
+
const match = chartsheetXmlRegex.exec(path);
|
|
476
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
477
|
+
}
|
|
478
|
+
export function getChartsheetNoFromRelsPath(path) {
|
|
479
|
+
const match = chartsheetRelsXmlRegex.exec(path);
|
|
480
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
481
|
+
}
|
|
482
|
+
export function chartsheetPath(n) {
|
|
483
|
+
return `xl/chartsheets/sheet${n}.xml`;
|
|
484
|
+
}
|
|
485
|
+
export function chartsheetRelsPath(n) {
|
|
486
|
+
return `xl/chartsheets/_rels/sheet${n}.xml.rels`;
|
|
487
|
+
}
|
|
488
|
+
export function isChartsheetPath(path) {
|
|
489
|
+
return chartsheetXmlRegex.test(path);
|
|
490
|
+
}
|
|
491
|
+
export function isChartsheetRelsPath(path) {
|
|
492
|
+
return chartsheetRelsXmlRegex.test(path);
|
|
493
|
+
}
|