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