@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
|
@@ -4,12 +4,60 @@
|
|
|
4
4
|
* Extends browser Workbook with Node.js file system support for CSV and Markdown operations.
|
|
5
5
|
*/
|
|
6
6
|
import { ExcelFileError } from "./errors.js";
|
|
7
|
+
import { WorkbookReader } from "./stream/workbook-reader.js";
|
|
8
|
+
import { WorkbookWriter } from "./stream/workbook-writer.js";
|
|
7
9
|
import { Workbook as WorkbookBrowser } from "./workbook.browser.js";
|
|
10
|
+
import { XLSX } from "./xlsx/xlsx.js";
|
|
8
11
|
import { fileExists, createReadStream, createWriteStream, readFileText, writeFileText } from "../../utils/fs.js";
|
|
9
12
|
// =============================================================================
|
|
10
13
|
// Node.js Workbook Class
|
|
11
14
|
// =============================================================================
|
|
12
15
|
class Workbook extends WorkbookBrowser {
|
|
16
|
+
/**
|
|
17
|
+
* xlsx file format operations — Node.js variant. Exposes the
|
|
18
|
+
* `readFile` / `writeFile` / streaming `read` / `write` methods that
|
|
19
|
+
* the browser XLSX omits. Overriding here (rather than typing the
|
|
20
|
+
* base getter as Node XLSX directly) keeps the browser
|
|
21
|
+
* `Workbook.xlsx` type clean — browser consumers see only the
|
|
22
|
+
* operations the bundle actually supports and get a TS error if
|
|
23
|
+
* they accidentally reach for file-path APIs.
|
|
24
|
+
*/
|
|
25
|
+
get xlsx() {
|
|
26
|
+
if (!this._xlsxNode) {
|
|
27
|
+
this._xlsxNode = new XLSX(this);
|
|
28
|
+
}
|
|
29
|
+
return this._xlsxNode;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a streaming workbook writer — Node.js variant. Accepts the
|
|
33
|
+
* Node-only `{ filename }` option for direct file-path output in
|
|
34
|
+
* addition to the cross-platform `{ stream }` option. Overriding
|
|
35
|
+
* here (rather than typing the base factory as the Node writer)
|
|
36
|
+
* keeps the browser bundle free of Node-only stream code.
|
|
37
|
+
*
|
|
38
|
+
* The return type is declared as the browser `WorkbookWriter` to
|
|
39
|
+
* preserve static-side Liskov compatibility with the base class;
|
|
40
|
+
* downcast at the call site if the Node subclass API is needed, or
|
|
41
|
+
* use `new WorkbookWriter()` directly.
|
|
42
|
+
*/
|
|
43
|
+
static createStreamWriter(options) {
|
|
44
|
+
return new WorkbookWriter(options);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create a streaming workbook reader — Node.js variant. Accepts a
|
|
48
|
+
* Node-only file-path `string` in addition to the cross-platform
|
|
49
|
+
* `CommonInput` types (buffer / readable). Overriding here keeps the
|
|
50
|
+
* browser bundle free of Node-only `fs` imports.
|
|
51
|
+
*
|
|
52
|
+
* The return type is declared as the browser `WorkbookReader` to
|
|
53
|
+
* preserve static-side Liskov compatibility with the base class.
|
|
54
|
+
* The runtime instance is the Node `WorkbookReader` subclass and
|
|
55
|
+
* handles file-path inputs transparently; downcast if the subclass
|
|
56
|
+
* API is needed, or use `new WorkbookReader()` directly.
|
|
57
|
+
*/
|
|
58
|
+
static createStreamReader(input, options) {
|
|
59
|
+
return new WorkbookReader(input, options);
|
|
60
|
+
}
|
|
13
61
|
/**
|
|
14
62
|
* Read CSV from file (Node.js only)
|
|
15
63
|
*
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
+
// Chart runtime is accessed via the chart-host-registry slot rather
|
|
2
|
+
// than imported directly. See `chart-host-registry.ts` and
|
|
3
|
+
// `chart/install.ts` for the registration protocol. Types are pulled
|
|
4
|
+
// in via `import type` so bundlers emit zero runtime chart code unless
|
|
5
|
+
// the consumer imports `@cj-tech-master/excelts/chart`.
|
|
6
|
+
import { getChartSupport, tryGetChartSupport } from "./chart-host-registry.js";
|
|
1
7
|
import { Column } from "./column.js";
|
|
2
8
|
import { DataValidations } from "./data-validations.js";
|
|
3
9
|
import { Enums } from "./enums.js";
|
|
4
|
-
import {
|
|
10
|
+
import { MergeConflictError, TableError } from "./errors.js";
|
|
5
11
|
import { FormCheckbox } from "./form-control.js";
|
|
6
12
|
import { Image } from "./image.js";
|
|
13
|
+
import { withPivotChartSource } from "./pivot-chart.js";
|
|
7
14
|
import { makePivotTable } from "./pivot-table.js";
|
|
8
15
|
import { Range } from "./range.js";
|
|
9
16
|
import { Row } from "./row.js";
|
|
17
|
+
import { buildSparklineGroup } from "./sparkline/index.js";
|
|
10
18
|
import { Table } from "./table.js";
|
|
11
19
|
import { decodeCell, decodeRange, encodeCol } from "./utils/address.js";
|
|
12
20
|
import { getCellDisplayText } from "./utils/cell-format.js";
|
|
@@ -96,6 +104,9 @@ class Worksheet {
|
|
|
96
104
|
this.autoFilter = options.autoFilter ?? null;
|
|
97
105
|
// for images, etc
|
|
98
106
|
this._media = [];
|
|
107
|
+
// for charts
|
|
108
|
+
this._charts = [];
|
|
109
|
+
this._sparklineGroups = [];
|
|
99
110
|
// worksheet protection
|
|
100
111
|
this.sheetProtection = null;
|
|
101
112
|
// for tables
|
|
@@ -106,6 +117,8 @@ class Worksheet {
|
|
|
106
117
|
this.formControls = [];
|
|
107
118
|
// ignored errors (suppress green triangles in Excel)
|
|
108
119
|
this.ignoredErrors = [];
|
|
120
|
+
// Office 365 threaded comments (separate from classic VML notes).
|
|
121
|
+
this.threadedComments = [];
|
|
109
122
|
// watermark configuration
|
|
110
123
|
this._watermark = null;
|
|
111
124
|
}
|
|
@@ -119,34 +132,15 @@ class Worksheet {
|
|
|
119
132
|
if (this._name === name) {
|
|
120
133
|
return;
|
|
121
134
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
// Illegal character in worksheet name: asterisk (*), question mark (?),
|
|
132
|
-
// colon (:), forward slash (/ \), or bracket ([])
|
|
133
|
-
if (/[*?:/\\[\]]/.test(name)) {
|
|
134
|
-
throw new WorksheetNameError(`Worksheet name ${name} cannot include any of the following characters: * ? : \\ / [ ]`);
|
|
135
|
-
}
|
|
136
|
-
if (/(^')|('$)/.test(name)) {
|
|
137
|
-
throw new WorksheetNameError(`The first or last character of worksheet name cannot be a single quotation mark: ${name}`);
|
|
138
|
-
}
|
|
139
|
-
if (name.length > 31) {
|
|
140
|
-
if (process.env.NODE_ENV !== "production") {
|
|
141
|
-
console.warn(`Worksheet name ${name} exceeds 31 chars. This will be truncated`);
|
|
142
|
-
}
|
|
143
|
-
name = name.substring(0, 31);
|
|
144
|
-
}
|
|
145
|
-
const nameLower = name.toLowerCase();
|
|
146
|
-
if (this._workbook.worksheets.find(ws => ws && ws !== this && ws.name.toLowerCase() === nameLower)) {
|
|
147
|
-
throw new WorksheetNameError(`Worksheet name already exists: ${name}`);
|
|
148
|
-
}
|
|
149
|
-
this._name = name;
|
|
135
|
+
// Delegate to the workbook-level validator so both worksheets and
|
|
136
|
+
// chartsheets share a single naming namespace. Previously this
|
|
137
|
+
// setter only cross-checked against other worksheets, allowing a
|
|
138
|
+
// chartsheet named "S" to coexist with a worksheet named "S";
|
|
139
|
+
// Excel itself forbids that collision. `validateSheetName`
|
|
140
|
+
// performs the full type / empty / illegal-char / quote / length
|
|
141
|
+
// / case-insensitive duplicate checks and returns the sanitised
|
|
142
|
+
// name (truncated to 31 chars if needed).
|
|
143
|
+
this._name = this._workbook.validateSheetName(name, this);
|
|
150
144
|
}
|
|
151
145
|
/**
|
|
152
146
|
* The workbook that contains this worksheet
|
|
@@ -316,6 +310,8 @@ class Worksheet {
|
|
|
316
310
|
}
|
|
317
311
|
}
|
|
318
312
|
}
|
|
313
|
+
// account for chart anchors in drawing and programmatic chart objects
|
|
314
|
+
this._shiftChartAnchors("col", start - 1, nExpand);
|
|
319
315
|
}
|
|
320
316
|
// account for merges
|
|
321
317
|
this._spliceMerges("col", start, count, inserts.length);
|
|
@@ -658,6 +654,8 @@ class Worksheet {
|
|
|
658
654
|
}
|
|
659
655
|
}
|
|
660
656
|
}
|
|
657
|
+
// account for chart anchors in drawing and programmatic chart objects
|
|
658
|
+
this._shiftChartAnchors("row", start - 1, nExpand);
|
|
661
659
|
}
|
|
662
660
|
// account for merges
|
|
663
661
|
this._spliceMerges("row", start, count, nInserts);
|
|
@@ -776,6 +774,39 @@ class Worksheet {
|
|
|
776
774
|
delete this._merges[master.address];
|
|
777
775
|
}
|
|
778
776
|
}
|
|
777
|
+
/**
|
|
778
|
+
* Shift all chart anchors (drawing anchors + programmatic charts) by delta along an axis.
|
|
779
|
+
* @param axis "row" or "col"
|
|
780
|
+
* @param threshold 0-based index; anchors at or beyond this are shifted
|
|
781
|
+
* @param delta number of positions to shift (positive = expand, negative = shrink)
|
|
782
|
+
*/
|
|
783
|
+
_shiftChartAnchors(axis, threshold, delta) {
|
|
784
|
+
const prop = axis === "row" ? "nativeRow" : "nativeCol";
|
|
785
|
+
// Drawing anchors (from loaded file)
|
|
786
|
+
const drawing = this._drawing;
|
|
787
|
+
if (drawing?.anchors) {
|
|
788
|
+
for (const anchor of drawing.anchors) {
|
|
789
|
+
const tl = anchor.range?.tl;
|
|
790
|
+
const br = anchor.range?.br;
|
|
791
|
+
if (tl && tl[prop] >= threshold) {
|
|
792
|
+
tl[prop] = Math.max(0, tl[prop] + delta);
|
|
793
|
+
}
|
|
794
|
+
if (br && br[prop] >= threshold) {
|
|
795
|
+
br[prop] = Math.max(0, br[prop] + delta);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
// Programmatic chart objects
|
|
800
|
+
for (const chart of this._charts) {
|
|
801
|
+
const { tl, br } = chart.range;
|
|
802
|
+
if (tl[prop] >= threshold) {
|
|
803
|
+
tl[prop] = Math.max(0, tl[prop] + delta);
|
|
804
|
+
}
|
|
805
|
+
if (br && br[prop] >= threshold) {
|
|
806
|
+
br[prop] = Math.max(0, br[prop] + delta);
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
}
|
|
779
810
|
/**
|
|
780
811
|
* Update _merges dictionary and cell-level merge references after a row or column splice.
|
|
781
812
|
*/
|
|
@@ -967,6 +998,300 @@ class Worksheet {
|
|
|
967
998
|
getImages() {
|
|
968
999
|
return this._media.filter(m => m.type === "image");
|
|
969
1000
|
}
|
|
1001
|
+
// ===========================================================================
|
|
1002
|
+
// Charts
|
|
1003
|
+
// ===========================================================================
|
|
1004
|
+
/**
|
|
1005
|
+
* Add a chart to the worksheet, positioned at the given range.
|
|
1006
|
+
* Returns the chart number (1-based) that identifies this chart in the workbook.
|
|
1007
|
+
*/
|
|
1008
|
+
addChart(options, range) {
|
|
1009
|
+
const chart = getChartSupport();
|
|
1010
|
+
return this._registerChart(chart.buildChartModel(options), range, options);
|
|
1011
|
+
}
|
|
1012
|
+
addColumnChart(options, range) {
|
|
1013
|
+
return this.addChart({ ...options, type: "bar", barDir: "col" }, range);
|
|
1014
|
+
}
|
|
1015
|
+
addBarChart(options, range) {
|
|
1016
|
+
return this.addChart({ ...options, type: "bar", barDir: "bar" }, range);
|
|
1017
|
+
}
|
|
1018
|
+
addLineChart(options, range) {
|
|
1019
|
+
return this.addChart({ ...options, type: "line" }, range);
|
|
1020
|
+
}
|
|
1021
|
+
addAreaChart(options, range) {
|
|
1022
|
+
return this.addChart({ ...options, type: "area" }, range);
|
|
1023
|
+
}
|
|
1024
|
+
addPieChart(options, range) {
|
|
1025
|
+
return this.addChart({ ...options, type: "pie" }, range);
|
|
1026
|
+
}
|
|
1027
|
+
addDoughnutChart(options, range) {
|
|
1028
|
+
return this.addChart({ ...options, type: "doughnut" }, range);
|
|
1029
|
+
}
|
|
1030
|
+
addScatterChart(options, range) {
|
|
1031
|
+
return this.addChart({ ...options, type: "scatter" }, range);
|
|
1032
|
+
}
|
|
1033
|
+
addBubbleChart(options, range) {
|
|
1034
|
+
return this.addChart({ ...options, type: "bubble" }, range);
|
|
1035
|
+
}
|
|
1036
|
+
addRadarChart(options, range) {
|
|
1037
|
+
return this.addChart({ ...options, type: "radar" }, range);
|
|
1038
|
+
}
|
|
1039
|
+
addStockChart(options, range) {
|
|
1040
|
+
return this.addChart({ ...options, type: "stock" }, range);
|
|
1041
|
+
}
|
|
1042
|
+
addSurfaceChart(options, range) {
|
|
1043
|
+
return this.addChart({ ...options, type: "surface" }, range);
|
|
1044
|
+
}
|
|
1045
|
+
addHistogramChart(options, range) {
|
|
1046
|
+
return this.addChartEx({ ...options, type: "histogram" }, range);
|
|
1047
|
+
}
|
|
1048
|
+
addParetoChart(options, range) {
|
|
1049
|
+
return this.addChartEx({ ...options, type: "pareto" }, range);
|
|
1050
|
+
}
|
|
1051
|
+
addWaterfallChart(options, range) {
|
|
1052
|
+
return this.addChartEx({ ...options, type: "waterfall" }, range);
|
|
1053
|
+
}
|
|
1054
|
+
addFunnelChart(options, range) {
|
|
1055
|
+
return this.addChartEx({ ...options, type: "funnel" }, range);
|
|
1056
|
+
}
|
|
1057
|
+
addTreemapChart(options, range) {
|
|
1058
|
+
return this.addChartEx({ ...options, type: "treemap" }, range);
|
|
1059
|
+
}
|
|
1060
|
+
addSunburstChart(options, range) {
|
|
1061
|
+
return this.addChartEx({ ...options, type: "sunburst" }, range);
|
|
1062
|
+
}
|
|
1063
|
+
addBoxWhiskerChart(options, range) {
|
|
1064
|
+
return this.addChartEx({ ...options, type: "boxWhisker" }, range);
|
|
1065
|
+
}
|
|
1066
|
+
addRegionMapChart(options, range) {
|
|
1067
|
+
return this.addChartEx({ ...options, type: "regionMap" }, range);
|
|
1068
|
+
}
|
|
1069
|
+
addPresetChart(preset, options, range) {
|
|
1070
|
+
return this.addChart(getChartSupport().applyChartPreset(preset, options), range);
|
|
1071
|
+
}
|
|
1072
|
+
addPresetChartEx(preset, options, range) {
|
|
1073
|
+
return this.addChartEx(getChartSupport().applyChartExPreset(preset, options), range);
|
|
1074
|
+
}
|
|
1075
|
+
seriesFromColumns(options) {
|
|
1076
|
+
return getChartSupport().seriesFromColumns(this.name, options);
|
|
1077
|
+
}
|
|
1078
|
+
addChartFromTable(table, options, range) {
|
|
1079
|
+
return this.addChart(getChartSupport().chartOptionsFromTable(this, table, options), range);
|
|
1080
|
+
}
|
|
1081
|
+
addChartFromRows(rows, options, range) {
|
|
1082
|
+
return this.addChart(getChartSupport().chartOptionsFromRows(this, rows, options), range);
|
|
1083
|
+
}
|
|
1084
|
+
addColumnChartFromRows(rows, options, range) {
|
|
1085
|
+
return this.addChart(getChartSupport().chartOptionsFromRows(this, rows, {
|
|
1086
|
+
...options,
|
|
1087
|
+
type: "bar",
|
|
1088
|
+
barDir: "col"
|
|
1089
|
+
}), range);
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Add a chartEx chart whose data references come from a worksheet Table.
|
|
1093
|
+
* Mirrors {@link addChartFromTable} for the modern `cx:` chart types
|
|
1094
|
+
* (sunburst, treemap, waterfall, funnel, histogram, pareto, boxWhisker).
|
|
1095
|
+
* `regionMap` is not supported through this helper because its data
|
|
1096
|
+
* model expects geographic labels — use {@link addChartEx} directly.
|
|
1097
|
+
*/
|
|
1098
|
+
addChartExFromTable(table, options, range) {
|
|
1099
|
+
return this.addChartEx(getChartSupport().chartExOptionsFromTable(this, table, options), range);
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* Add a chartEx chart whose rows come from a plain object-array, staged
|
|
1103
|
+
* into the worksheet before being referenced by absolute range. Mirrors
|
|
1104
|
+
* {@link addChartFromRows} for the modern `cx:` chart types.
|
|
1105
|
+
*/
|
|
1106
|
+
addChartExFromRows(rows, options, range) {
|
|
1107
|
+
return this.addChartEx(getChartSupport().chartExOptionsFromRows(this, rows, options), range);
|
|
1108
|
+
}
|
|
1109
|
+
/**
|
|
1110
|
+
* Add a classic pivot chart linked to an existing pivot table.
|
|
1111
|
+
* Returns the chart number (1-based) that identifies this chart in the workbook.
|
|
1112
|
+
*/
|
|
1113
|
+
addPivotChart(pivotTable, options, range) {
|
|
1114
|
+
const pivotChartOptions = withPivotChartSource(pivotTable, options);
|
|
1115
|
+
return this._registerChart(getChartSupport().buildChartModel(pivotChartOptions), range, pivotChartOptions);
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Add a combo pivot chart linked to an existing pivot table.
|
|
1119
|
+
* Returns the chart number (1-based) that identifies this chart in the workbook.
|
|
1120
|
+
*/
|
|
1121
|
+
addPivotComboChart(pivotTable, options, range) {
|
|
1122
|
+
const pivotChartOptions = withPivotChartSource(pivotTable, options);
|
|
1123
|
+
return this._registerChart(getChartSupport().buildComboChartModel(pivotChartOptions), range, pivotChartOptions);
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* Add a combo chart (multiple chart type groups) to the worksheet.
|
|
1127
|
+
* Returns the chart number (1-based) that identifies this chart in the workbook.
|
|
1128
|
+
*/
|
|
1129
|
+
addComboChart(options, range) {
|
|
1130
|
+
return this._registerChart(getChartSupport().buildComboChartModel(options), range, options);
|
|
1131
|
+
}
|
|
1132
|
+
/**
|
|
1133
|
+
* Add a ChartEx (Office 2016+ extended chart) to the worksheet.
|
|
1134
|
+
*
|
|
1135
|
+
* Supported types: `sunburst`, `treemap`, `waterfall`, `funnel`, `histogram`,
|
|
1136
|
+
* `pareto`, `boxWhisker`, `regionMap`.
|
|
1137
|
+
*
|
|
1138
|
+
* Returns the chartEx number (1-based) that identifies this chart in the workbook.
|
|
1139
|
+
*/
|
|
1140
|
+
addChartEx(options, range) {
|
|
1141
|
+
const model = getChartSupport().buildChartExModel(options);
|
|
1142
|
+
return this._registerChartEx(model, range);
|
|
1143
|
+
}
|
|
1144
|
+
/** @internal Register a built chartEx model into the workbook and this worksheet. */
|
|
1145
|
+
_registerChartEx(model, range) {
|
|
1146
|
+
const chart = getChartSupport();
|
|
1147
|
+
const chartExNumber = this._workbook.nextChartExNumber();
|
|
1148
|
+
try {
|
|
1149
|
+
// Pass `this` as context worksheet so sheet-scoped defined names on
|
|
1150
|
+
// this sheet take precedence over workbook-scoped names of the same
|
|
1151
|
+
// bare name (matches Excel resolution order).
|
|
1152
|
+
chart.fillChartExCaches(model, this._workbook, this);
|
|
1153
|
+
}
|
|
1154
|
+
catch {
|
|
1155
|
+
// Cache population is best-effort; never let it break chart creation.
|
|
1156
|
+
}
|
|
1157
|
+
this._workbook.addChartExStructuredEntry({ chartExNumber, model });
|
|
1158
|
+
const chartInstance = chart.createChart(this, { chartExNumber }, range);
|
|
1159
|
+
this._charts.push(chartInstance);
|
|
1160
|
+
return chartExNumber;
|
|
1161
|
+
}
|
|
1162
|
+
/** @internal Register a built chart model into the workbook and this worksheet. */
|
|
1163
|
+
_registerChart(chartModel, range, options) {
|
|
1164
|
+
const chart = getChartSupport();
|
|
1165
|
+
const chartNumber = this._workbook.nextChartNumber();
|
|
1166
|
+
// Auto-populate caches so headless consumers see non-empty charts.
|
|
1167
|
+
// Excel itself will recompute on open; this is a best-effort enrichment.
|
|
1168
|
+
// Pass `this` as context worksheet so sheet-scoped defined names on
|
|
1169
|
+
// this sheet take precedence over workbook-scoped names of the same
|
|
1170
|
+
// bare name (matches Excel resolution order).
|
|
1171
|
+
try {
|
|
1172
|
+
chart.fillChartCaches(chartModel, this._workbook, this);
|
|
1173
|
+
}
|
|
1174
|
+
catch {
|
|
1175
|
+
// Cache population is best-effort; never let it break chart creation.
|
|
1176
|
+
}
|
|
1177
|
+
const entry = { chartNumber, model: chartModel };
|
|
1178
|
+
// Resolve any staged `pictureFill.image` payloads into real workbook
|
|
1179
|
+
// media entries + chart relationships. Safe to call before
|
|
1180
|
+
// `addChartEntry` so the entry we store already carries the final
|
|
1181
|
+
// `entry.rels` array.
|
|
1182
|
+
try {
|
|
1183
|
+
chart.resolvePendingChartImages(entry, this._workbook, chartNumber);
|
|
1184
|
+
}
|
|
1185
|
+
catch {
|
|
1186
|
+
// Image resolution is best-effort; a broken image payload should
|
|
1187
|
+
// never take down chart creation — the series keeps its
|
|
1188
|
+
// `pictureOptions`, just without the blipFill.
|
|
1189
|
+
}
|
|
1190
|
+
this._workbook.addChartEntry(entry);
|
|
1191
|
+
this._applyChartSidecars(chartNumber, options);
|
|
1192
|
+
const chartInstance = chart.createChart(this, { chartNumber }, range);
|
|
1193
|
+
this._charts.push(chartInstance);
|
|
1194
|
+
return chartNumber;
|
|
1195
|
+
}
|
|
1196
|
+
_applyChartSidecars(chartNumber, options) {
|
|
1197
|
+
if (!options?.chartStyle && !options?.chartColors) {
|
|
1198
|
+
return;
|
|
1199
|
+
}
|
|
1200
|
+
const chart = getChartSupport();
|
|
1201
|
+
if (options?.chartStyle) {
|
|
1202
|
+
this._workbook.setChartStyle(chartNumber, new TextEncoder().encode(chart.buildChartStyle(options.chartStyle)));
|
|
1203
|
+
}
|
|
1204
|
+
if (options?.chartColors) {
|
|
1205
|
+
this._workbook.setChartColors(chartNumber, new TextEncoder().encode(chart.buildChartColors(options.chartColors)));
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
/**
|
|
1209
|
+
* Get all charts embedded in this worksheet.
|
|
1210
|
+
*/
|
|
1211
|
+
getCharts() {
|
|
1212
|
+
return [...this._charts];
|
|
1213
|
+
}
|
|
1214
|
+
/**
|
|
1215
|
+
* Remove a chart from this worksheet.
|
|
1216
|
+
*
|
|
1217
|
+
* @param chart - Either the chart object or its 0-based index in the worksheet.
|
|
1218
|
+
* @returns `true` if a chart was removed, `false` otherwise.
|
|
1219
|
+
*/
|
|
1220
|
+
removeChart(chart) {
|
|
1221
|
+
const idx = typeof chart === "number" ? chart : this._charts.indexOf(chart);
|
|
1222
|
+
if (idx < 0 || idx >= this._charts.length) {
|
|
1223
|
+
return false;
|
|
1224
|
+
}
|
|
1225
|
+
const removed = this._charts.splice(idx, 1)[0];
|
|
1226
|
+
if (removed.chartNumber > 0) {
|
|
1227
|
+
this._workbook.removeChartEntry?.(removed.chartNumber);
|
|
1228
|
+
}
|
|
1229
|
+
if (removed.chartExNumber > 0) {
|
|
1230
|
+
this._workbook.removeChartExStructuredEntry?.(removed.chartExNumber);
|
|
1231
|
+
}
|
|
1232
|
+
// Prune the matching anchor from the loaded drawing so the writer
|
|
1233
|
+
// doesn't emit a dangling rel pointing at the now-removed chart
|
|
1234
|
+
// part. The drawing xform regenerates rels from `drawing.anchors`
|
|
1235
|
+
// on every write (see `worksheet-xform.ts` chart-anchor reconcile),
|
|
1236
|
+
// so dropping the anchor here is sufficient — we don't need to
|
|
1237
|
+
// hand-edit `drawing.rels` ourselves.
|
|
1238
|
+
const drawing = this._drawing;
|
|
1239
|
+
if (drawing?.anchors) {
|
|
1240
|
+
drawing.anchors = drawing.anchors.filter(anchor => {
|
|
1241
|
+
if (removed.chartNumber > 0 && anchor.chartNumber === removed.chartNumber) {
|
|
1242
|
+
return false;
|
|
1243
|
+
}
|
|
1244
|
+
if (removed.chartExNumber > 0 && anchor.chartExNumber === removed.chartExNumber) {
|
|
1245
|
+
return false;
|
|
1246
|
+
}
|
|
1247
|
+
return true;
|
|
1248
|
+
});
|
|
1249
|
+
}
|
|
1250
|
+
return true;
|
|
1251
|
+
}
|
|
1252
|
+
// ===========================================================================
|
|
1253
|
+
// Sparklines (x14:sparklineGroups)
|
|
1254
|
+
// ===========================================================================
|
|
1255
|
+
/**
|
|
1256
|
+
* Add a sparkline group to this worksheet.
|
|
1257
|
+
*
|
|
1258
|
+
* A sparkline group is a collection of small in-cell charts sharing common
|
|
1259
|
+
* styling. Sparklines are rendered via `x14:sparklineGroups` inside the
|
|
1260
|
+
* worksheet extension list.
|
|
1261
|
+
*
|
|
1262
|
+
* @returns The newly added SparklineGroup for further modification.
|
|
1263
|
+
*/
|
|
1264
|
+
addSparklineGroup(options) {
|
|
1265
|
+
const group = buildSparklineGroup(options);
|
|
1266
|
+
this._sparklineGroups.push(group);
|
|
1267
|
+
return group;
|
|
1268
|
+
}
|
|
1269
|
+
/** Get all sparkline groups on this worksheet. */
|
|
1270
|
+
getSparklineGroups() {
|
|
1271
|
+
return [...this._sparklineGroups];
|
|
1272
|
+
}
|
|
1273
|
+
/** @internal Used by the worksheet xform to access raw storage. */
|
|
1274
|
+
get sparklineGroups() {
|
|
1275
|
+
return this._sparklineGroups;
|
|
1276
|
+
}
|
|
1277
|
+
/** @internal Used when rebuilding from a parsed model. */
|
|
1278
|
+
set sparklineGroups(value) {
|
|
1279
|
+
this._sparklineGroups = value ?? [];
|
|
1280
|
+
}
|
|
1281
|
+
/**
|
|
1282
|
+
* Remove a sparkline group.
|
|
1283
|
+
*
|
|
1284
|
+
* @param groupOrIndex - The group object or its 0-based index.
|
|
1285
|
+
* @returns `true` if removed, `false` otherwise.
|
|
1286
|
+
*/
|
|
1287
|
+
removeSparklineGroup(groupOrIndex) {
|
|
1288
|
+
const idx = typeof groupOrIndex === "number" ? groupOrIndex : this._sparklineGroups.indexOf(groupOrIndex);
|
|
1289
|
+
if (idx < 0 || idx >= this._sparklineGroups.length) {
|
|
1290
|
+
return false;
|
|
1291
|
+
}
|
|
1292
|
+
this._sparklineGroups.splice(idx, 1);
|
|
1293
|
+
return true;
|
|
1294
|
+
}
|
|
970
1295
|
/**
|
|
971
1296
|
* Using the image id from `Workbook.addImage`, set the background to the worksheet
|
|
972
1297
|
*/
|
|
@@ -1162,14 +1487,20 @@ class Worksheet {
|
|
|
1162
1487
|
this.conditionalFormattings.push(cf);
|
|
1163
1488
|
}
|
|
1164
1489
|
/**
|
|
1165
|
-
* Delete conditional formatting rules
|
|
1490
|
+
* Delete conditional formatting rules.
|
|
1491
|
+
*
|
|
1492
|
+
* - When `filter` is a number, removes the rule at that index.
|
|
1493
|
+
* - When `filter` is a function, removes every rule for which it returns `true`
|
|
1494
|
+
* (i.e. the predicate selects the rules to delete, not the ones to keep).
|
|
1495
|
+
* - When `filter` is omitted/falsy, removes all rules.
|
|
1166
1496
|
*/
|
|
1167
1497
|
removeConditionalFormatting(filter) {
|
|
1168
1498
|
if (typeof filter === "number") {
|
|
1169
1499
|
this.conditionalFormattings.splice(filter, 1);
|
|
1170
1500
|
}
|
|
1171
|
-
else if (filter
|
|
1172
|
-
|
|
1501
|
+
else if (typeof filter === "function") {
|
|
1502
|
+
// Keep entries for which the predicate returns false; drop the matches.
|
|
1503
|
+
this.conditionalFormattings = this.conditionalFormattings.filter((value, index, array) => !filter(value, index, array));
|
|
1173
1504
|
}
|
|
1174
1505
|
else {
|
|
1175
1506
|
this.conditionalFormattings = [];
|
|
@@ -1386,7 +1717,10 @@ class Worksheet {
|
|
|
1386
1717
|
formControls: this.formControls.map(fc => fc.model),
|
|
1387
1718
|
ignoredErrors: this.ignoredErrors,
|
|
1388
1719
|
watermark: this._watermark,
|
|
1389
|
-
drawing: this._drawing
|
|
1720
|
+
drawing: this._drawing,
|
|
1721
|
+
charts: this._charts.map(c => c.model),
|
|
1722
|
+
sparklineGroups: this._sparklineGroups,
|
|
1723
|
+
threadedComments: this.threadedComments
|
|
1390
1724
|
};
|
|
1391
1725
|
// =================================================
|
|
1392
1726
|
// columns
|
|
@@ -1473,12 +1807,37 @@ class Worksheet {
|
|
|
1473
1807
|
return tables;
|
|
1474
1808
|
}, {});
|
|
1475
1809
|
this.pivotTables = value.pivotTables;
|
|
1810
|
+
for (const pivotTable of this.pivotTables ?? []) {
|
|
1811
|
+
pivotTable.worksheetName ?? (pivotTable.worksheetName = this.name);
|
|
1812
|
+
pivotTable.name ?? (pivotTable.name = `PivotTable${pivotTable.tableNumber}`);
|
|
1813
|
+
}
|
|
1476
1814
|
this.conditionalFormattings = value.conditionalFormattings;
|
|
1477
1815
|
this.ignoredErrors = value.ignoredErrors ?? [];
|
|
1478
|
-
|
|
1479
|
-
|
|
1816
|
+
this.threadedComments = value.threadedComments ?? [];
|
|
1817
|
+
// Rebuild form controls from the serialised model so importSheet() and any
|
|
1818
|
+
// other model round-trip preserves checkbox state, position, and links.
|
|
1819
|
+
this.formControls = (value.formControls ?? []).map(fcModel => FormCheckbox.fromModel(this, fcModel));
|
|
1480
1820
|
// Preserve loaded drawing data (charts, etc.)
|
|
1481
1821
|
this._drawing = value.drawing;
|
|
1822
|
+
// Restore chart objects from model (explicit charts array) or from drawing anchors.
|
|
1823
|
+
// If chart support is not installed we still preserve the chart data inside
|
|
1824
|
+
// `workbook.charts` entries (the serialiser reads from there), but we leave
|
|
1825
|
+
// `_charts` empty because the `Chart` wrapper class lives in the optional
|
|
1826
|
+
// chart module. Consumers who want to *manipulate* charts must install
|
|
1827
|
+
// chart support; consumers doing pure load-save pass-through don't need to.
|
|
1828
|
+
const chartHost = tryGetChartSupport();
|
|
1829
|
+
if (chartHost && value.charts && value.charts.length > 0) {
|
|
1830
|
+
this._charts = value.charts.map((c) => chartHost.createChart(this, { chartNumber: c.chartNumber, chartExNumber: c.chartExNumber }, c.range));
|
|
1831
|
+
}
|
|
1832
|
+
else if (chartHost && value.drawing?.anchors) {
|
|
1833
|
+
// Extract chart anchors from drawing (loaded from XLSX)
|
|
1834
|
+
this._charts = value.drawing.anchors
|
|
1835
|
+
.filter((a) => a.chartNumber || a.chartExNumber)
|
|
1836
|
+
.map((a) => chartHost.createChart(this, { chartNumber: a.chartNumber ?? 0, chartExNumber: a.chartExNumber ?? 0 }, a.range));
|
|
1837
|
+
}
|
|
1838
|
+
else {
|
|
1839
|
+
this._charts = [];
|
|
1840
|
+
}
|
|
1482
1841
|
}
|
|
1483
1842
|
toJSON(opts) {
|
|
1484
1843
|
const o = opts || {};
|
|
@@ -31,6 +31,46 @@ const RelType = {
|
|
|
31
31
|
* relative to the current workbook's directory — exactly the behaviour users
|
|
32
32
|
* expect from `=[测试.xlsx]Sheet1!A1`.
|
|
33
33
|
*/
|
|
34
|
-
ExternalLinkPath: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath"
|
|
34
|
+
ExternalLinkPath: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",
|
|
35
|
+
Chart: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
|
|
36
|
+
ChartEx: "http://schemas.microsoft.com/office/2014/relationships/chartEx",
|
|
37
|
+
ChartStyle: "http://schemas.microsoft.com/office/2011/relationships/chartStyle",
|
|
38
|
+
ChartColors: "http://schemas.microsoft.com/office/2011/relationships/chartColorStyle",
|
|
39
|
+
Drawing: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",
|
|
40
|
+
/**
|
|
41
|
+
* `c:userShapes` overlay drawing targeted from a chart rels file. OOXML
|
|
42
|
+
* treats this as a separate relationship type from regular worksheet
|
|
43
|
+
* drawings so the spec's schema for the two parts can diverge.
|
|
44
|
+
*/
|
|
45
|
+
ChartUserShapes: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",
|
|
46
|
+
Chartsheet: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",
|
|
47
|
+
/**
|
|
48
|
+
* Office 365 threaded comments — the conversation tree for modern
|
|
49
|
+
* comments, kept alongside classic VML comments so older viewers still
|
|
50
|
+
* see the fallback text. From MS-XLSX ext spec (2018).
|
|
51
|
+
*/
|
|
52
|
+
ThreadedComments: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",
|
|
53
|
+
/**
|
|
54
|
+
* `xl/persons/person.xml` — the person directory referenced by
|
|
55
|
+
* threaded-comment `personId` fields. Workbook-level relationship.
|
|
56
|
+
*/
|
|
57
|
+
Person: "http://schemas.microsoft.com/office/2017/10/relationships/person",
|
|
58
|
+
/**
|
|
59
|
+
* Slicer part reference from sheets. One per slicer definition.
|
|
60
|
+
*/
|
|
61
|
+
Slicer: "http://schemas.microsoft.com/office/2007/relationships/slicer",
|
|
62
|
+
/**
|
|
63
|
+
* Slicer cache reference from workbook — each slicer points at a
|
|
64
|
+
* cache defining its filter state.
|
|
65
|
+
*/
|
|
66
|
+
SlicerCache: "http://schemas.microsoft.com/office/2007/relationships/slicerCache",
|
|
67
|
+
/**
|
|
68
|
+
* Excel 2013+ timeline control (date-based slicer).
|
|
69
|
+
*/
|
|
70
|
+
Timeline: "http://schemas.microsoft.com/office/2011/relationships/timeline",
|
|
71
|
+
/**
|
|
72
|
+
* Cache behind a timeline control.
|
|
73
|
+
*/
|
|
74
|
+
TimelineCache: "http://schemas.microsoft.com/office/2011/relationships/timelineCache"
|
|
35
75
|
};
|
|
36
76
|
export { RelType };
|
|
@@ -8,11 +8,16 @@ class DefinedNamesXform extends BaseXform {
|
|
|
8
8
|
// <definedNames>
|
|
9
9
|
// <definedName name="name">text</definedName>
|
|
10
10
|
// <definedName name="_xlnm.Print_Area" localSheetId="0">text</definedName>
|
|
11
|
+
// <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
|
|
11
12
|
// </definedNames>
|
|
12
|
-
|
|
13
|
+
const attrs = {
|
|
13
14
|
name: model.name,
|
|
14
15
|
localSheetId: model.localSheetId
|
|
15
|
-
}
|
|
16
|
+
};
|
|
17
|
+
if (model.hidden) {
|
|
18
|
+
attrs.hidden = 1;
|
|
19
|
+
}
|
|
20
|
+
xmlStream.openNode("definedName", attrs);
|
|
16
21
|
// For opaque names, write the rawText verbatim to preserve round-trip fidelity.
|
|
17
22
|
// For reference/formula names, join the ranges array as before.
|
|
18
23
|
if (model.kind === "opaque" && model.rawText) {
|
|
@@ -28,6 +33,7 @@ class DefinedNamesXform extends BaseXform {
|
|
|
28
33
|
case "definedName":
|
|
29
34
|
this._parsedName = node.attributes.name;
|
|
30
35
|
this._parsedLocalSheetId = node.attributes.localSheetId;
|
|
36
|
+
this._parsedHidden = node.attributes.hidden;
|
|
31
37
|
this._parsedText = [];
|
|
32
38
|
return true;
|
|
33
39
|
default:
|
|
@@ -52,6 +58,9 @@ class DefinedNamesXform extends BaseXform {
|
|
|
52
58
|
if (this._parsedLocalSheetId !== undefined) {
|
|
53
59
|
model.localSheetId = parseInt(this._parsedLocalSheetId, 10);
|
|
54
60
|
}
|
|
61
|
+
if (this._parsedHidden === "1" || this._parsedHidden === "true") {
|
|
62
|
+
model.hidden = true;
|
|
63
|
+
}
|
|
55
64
|
this.model = model;
|
|
56
65
|
return false;
|
|
57
66
|
}
|