@rowsncolumns/toolkit 24.4.1
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/LICENSE.md +100 -0
- package/Readme.md +27 -0
- package/dist/cjs/autofilter-condition.d.ts +43 -0
- package/dist/cjs/autofilter-condition.d.ts.map +1 -0
- package/dist/cjs/autofilter-condition.js +155 -0
- package/dist/cjs/csv-export.d.ts +49 -0
- package/dist/cjs/csv-export.d.ts.map +1 -0
- package/dist/cjs/csv-export.js +142 -0
- package/dist/cjs/csv-import-worker.d.ts +16 -0
- package/dist/cjs/csv-import-worker.d.ts.map +1 -0
- package/dist/cjs/csv-import-worker.js +60 -0
- package/dist/cjs/csv-import.d.ts +38 -0
- package/dist/cjs/csv-import.d.ts.map +1 -0
- package/dist/cjs/csv-import.js +166 -0
- package/dist/cjs/csv-parser/helpers.d.ts +14 -0
- package/dist/cjs/csv-parser/helpers.d.ts.map +1 -0
- package/dist/cjs/csv-parser/helpers.js +145 -0
- package/dist/cjs/csv-parser/types.d.ts +66 -0
- package/dist/cjs/csv-parser/types.d.ts.map +1 -0
- package/dist/cjs/csv-parser/types.js +14 -0
- package/dist/cjs/csv-parser/worker.d.ts +2 -0
- package/dist/cjs/csv-parser/worker.d.ts.map +1 -0
- package/dist/cjs/csv-parser/worker.js +200 -0
- package/dist/cjs/excel-export.d.ts +11 -0
- package/dist/cjs/excel-export.d.ts.map +1 -0
- package/dist/cjs/excel-export.js +22 -0
- package/dist/cjs/excel-import-session.d.ts +51 -0
- package/dist/cjs/excel-import-session.d.ts.map +1 -0
- package/dist/cjs/excel-import-session.js +307 -0
- package/dist/cjs/excel-import-worker.d.ts +7 -0
- package/dist/cjs/excel-import-worker.d.ts.map +1 -0
- package/dist/cjs/excel-import-worker.js +119 -0
- package/dist/cjs/excel-parser/builtin-numfmts.d.ts +24 -0
- package/dist/cjs/excel-parser/builtin-numfmts.d.ts.map +1 -0
- package/dist/cjs/excel-parser/builtin-numfmts.js +63 -0
- package/dist/cjs/excel-parser/cfb-decryptor.d.ts +53 -0
- package/dist/cjs/excel-parser/cfb-decryptor.d.ts.map +1 -0
- package/dist/cjs/excel-parser/cfb-decryptor.js +553 -0
- package/dist/cjs/excel-parser/cfb-encryptor.d.ts +23 -0
- package/dist/cjs/excel-parser/cfb-encryptor.d.ts.map +1 -0
- package/dist/cjs/excel-parser/cfb-encryptor.js +200 -0
- package/dist/cjs/excel-parser/dv-cell-stamp.d.ts +29 -0
- package/dist/cjs/excel-parser/dv-cell-stamp.d.ts.map +1 -0
- package/dist/cjs/excel-parser/dv-cell-stamp.js +239 -0
- package/dist/cjs/excel-parser/helpers.d.ts +28 -0
- package/dist/cjs/excel-parser/helpers.d.ts.map +1 -0
- package/dist/cjs/excel-parser/helpers.js +188 -0
- package/dist/cjs/excel-parser/interface.d.ts +179 -0
- package/dist/cjs/excel-parser/interface.d.ts.map +1 -0
- package/dist/cjs/excel-parser/interface.js +1 -0
- package/dist/cjs/excel-parser/plugins/base/index.d.ts +31 -0
- package/dist/cjs/excel-parser/plugins/base/index.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/base/index.js +101 -0
- package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.d.ts +16 -0
- package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.js +488 -0
- package/dist/cjs/excel-parser/plugins/ods/data-validations.d.ts +15 -0
- package/dist/cjs/excel-parser/plugins/ods/data-validations.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/data-validations.js +353 -0
- package/dist/cjs/excel-parser/plugins/ods/formula.d.ts +8 -0
- package/dist/cjs/excel-parser/plugins/ods/formula.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/formula.js +82 -0
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts +122 -0
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/index.js +3642 -0
- package/dist/cjs/excel-parser/plugins/ods/sparklines.d.ts +25 -0
- package/dist/cjs/excel-parser/plugins/ods/sparklines.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/sparklines.js +221 -0
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +60 -0
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/styles.js +808 -0
- package/dist/cjs/excel-parser/plugins/ods/types.d.ts +7 -0
- package/dist/cjs/excel-parser/plugins/ods/types.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/ods/types.js +1 -0
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts +5 -0
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xls/index.js +19 -0
- package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.d.ts +13 -0
- package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.js +49 -0
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts +117 -0
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsb/index.js +2972 -0
- package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.d.ts +18 -0
- package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.js +527 -0
- package/dist/cjs/excel-parser/plugins/xlsm/index.d.ts +5 -0
- package/dist/cjs/excel-parser/plugins/xlsm/index.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsm/index.js +10 -0
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +60 -0
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/charts.js +2178 -0
- package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts +18 -0
- package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.js +620 -0
- package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts +4 -0
- package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/data-validations.js +515 -0
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +39 -0
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +941 -0
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +320 -0
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/index.js +6056 -0
- package/dist/cjs/excel-parser/plugins/xlsx/numfmt.d.ts +2 -0
- package/dist/cjs/excel-parser/plugins/xlsx/numfmt.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/numfmt.js +3 -0
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts +40 -0
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +342 -0
- package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts +8 -0
- package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/relationships.js +26 -0
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts +26 -0
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.js +59 -0
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +44 -0
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/styles.js +1377 -0
- package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts +50 -0
- package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/theme.js +150 -0
- package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.d.ts +47 -0
- package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.js +141 -0
- package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts +44 -0
- package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -0
- package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.js +407 -0
- package/dist/cjs/excel-parser/registry.d.ts +5 -0
- package/dist/cjs/excel-parser/registry.d.ts.map +1 -0
- package/dist/cjs/excel-parser/registry.js +21 -0
- package/dist/cjs/excel-parser/style-registry.d.ts +51 -0
- package/dist/cjs/excel-parser/style-registry.d.ts.map +1 -0
- package/dist/cjs/excel-parser/style-registry.js +175 -0
- package/dist/cjs/excel-parser/theme-default.d.ts +3 -0
- package/dist/cjs/excel-parser/theme-default.d.ts.map +1 -0
- package/dist/cjs/excel-parser/theme-default.js +19 -0
- package/dist/cjs/excel-parser/types.d.ts +365 -0
- package/dist/cjs/excel-parser/types.d.ts.map +1 -0
- package/dist/cjs/excel-parser/types.js +59 -0
- package/dist/cjs/excel-parser/utils.d.ts +6 -0
- package/dist/cjs/excel-parser/utils.d.ts.map +1 -0
- package/dist/cjs/excel-parser/utils.js +30 -0
- package/dist/cjs/excel-parser/workbook.d.ts +51 -0
- package/dist/cjs/excel-parser/workbook.d.ts.map +1 -0
- package/dist/cjs/excel-parser/workbook.js +317 -0
- package/dist/cjs/excel-parser/worker.d.ts +2 -0
- package/dist/cjs/excel-parser/worker.d.ts.map +1 -0
- package/dist/cjs/excel-parser/worker.js +1149 -0
- package/dist/cjs/excel-parser/zip-parser-streaming.d.ts +13 -0
- package/dist/cjs/excel-parser/zip-parser-streaming.d.ts.map +1 -0
- package/dist/cjs/excel-parser/zip-parser-streaming.js +200 -0
- package/dist/cjs/excel-parser/zip-parser.d.ts +11 -0
- package/dist/cjs/excel-parser/zip-parser.d.ts.map +1 -0
- package/dist/cjs/excel-parser/zip-parser.js +49 -0
- package/dist/cjs/exporter/invalid-data-validation.d.ts +19 -0
- package/dist/cjs/exporter/invalid-data-validation.d.ts.map +1 -0
- package/dist/cjs/exporter/invalid-data-validation.js +39 -0
- package/dist/cjs/exporter/ods/ods-export.d.ts +26 -0
- package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -0
- package/dist/cjs/exporter/ods/ods-export.js +3714 -0
- package/dist/cjs/exporter/ods/sparkline-builder.d.ts +33 -0
- package/dist/cjs/exporter/ods/sparkline-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/ods/sparkline-builder.js +221 -0
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts +3 -0
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/chart-builder.js +1901 -0
- package/dist/cjs/exporter/xlsx/chart-templates.d.ts +1781 -0
- package/dist/cjs/exporter/xlsx/chart-templates.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/chart-templates.js +1798 -0
- package/dist/cjs/exporter/xlsx/future-functions.d.ts +10 -0
- package/dist/cjs/exporter/xlsx/future-functions.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/future-functions.js +264 -0
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts +58 -0
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/pivot-builder.js +277 -0
- package/dist/cjs/exporter/xlsx/power-query-builder.d.ts +26 -0
- package/dist/cjs/exporter/xlsx/power-query-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/power-query-builder.js +306 -0
- package/dist/cjs/exporter/xlsx/slicer-builder.d.ts +11 -0
- package/dist/cjs/exporter/xlsx/slicer-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/slicer-builder.js +87 -0
- package/dist/cjs/exporter/xlsx/sparkline-builder.d.ts +61 -0
- package/dist/cjs/exporter/xlsx/sparkline-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/sparkline-builder.js +489 -0
- package/dist/cjs/exporter/xlsx/style-builder.d.ts +93 -0
- package/dist/cjs/exporter/xlsx/style-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/style-builder.js +813 -0
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts +58 -0
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.js +189 -0
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +121 -0
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -0
- package/dist/cjs/exporter/xlsx/xlsx-export.js +4596 -0
- package/dist/cjs/helpers/theme-xml-generator.d.ts +8 -0
- package/dist/cjs/helpers/theme-xml-generator.d.ts.map +1 -0
- package/dist/cjs/helpers/theme-xml-generator.js +33 -0
- package/dist/cjs/helpers.d.ts +34 -0
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +189 -0
- package/dist/cjs/index.d.ts +16 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/indexed-colors.d.ts +2 -0
- package/dist/cjs/indexed-colors.d.ts.map +1 -0
- package/dist/cjs/indexed-colors.js +75 -0
- package/dist/cjs/ods-export.d.ts +24 -0
- package/dist/cjs/ods-export.d.ts.map +1 -0
- package/dist/cjs/ods-export.js +23 -0
- package/dist/cjs/parse.d.ts +24 -0
- package/dist/cjs/parse.d.ts.map +1 -0
- package/dist/cjs/parse.js +68 -0
- package/dist/cjs/power-query.d.ts +41 -0
- package/dist/cjs/power-query.d.ts.map +1 -0
- package/dist/cjs/power-query.js +22 -0
- package/dist/cjs/server.d.ts +9 -0
- package/dist/cjs/server.d.ts.map +1 -0
- package/dist/cjs/server.js +8 -0
- package/dist/cjs/theme1.d.ts +3 -0
- package/dist/cjs/theme1.d.ts.map +1 -0
- package/dist/cjs/theme1.js +2 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/cjs/types.d.ts +14 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/vitest.config.d.ts +3 -0
- package/dist/cjs/vitest.config.d.ts.map +1 -0
- package/dist/cjs/vitest.config.js +16 -0
- package/dist/esm/autofilter-condition.d.ts +43 -0
- package/dist/esm/autofilter-condition.d.ts.map +1 -0
- package/dist/esm/autofilter-condition.js +145 -0
- package/dist/esm/csv-export.d.ts +49 -0
- package/dist/esm/csv-export.d.ts.map +1 -0
- package/dist/esm/csv-export.js +126 -0
- package/dist/esm/csv-import-worker.d.ts +16 -0
- package/dist/esm/csv-import-worker.d.ts.map +1 -0
- package/dist/esm/csv-import-worker.js +60 -0
- package/dist/esm/csv-import.d.ts +38 -0
- package/dist/esm/csv-import.d.ts.map +1 -0
- package/dist/esm/csv-import.js +132 -0
- package/dist/esm/csv-parser/helpers.d.ts +14 -0
- package/dist/esm/csv-parser/helpers.d.ts.map +1 -0
- package/dist/esm/csv-parser/helpers.js +0 -0
- package/dist/esm/csv-parser/types.d.ts +66 -0
- package/dist/esm/csv-parser/types.d.ts.map +1 -0
- package/dist/esm/csv-parser/types.js +14 -0
- package/dist/esm/csv-parser/worker.d.ts +2 -0
- package/dist/esm/csv-parser/worker.d.ts.map +1 -0
- package/dist/esm/csv-parser/worker.js +154 -0
- package/dist/esm/excel-export.d.ts +11 -0
- package/dist/esm/excel-export.d.ts.map +1 -0
- package/dist/esm/excel-export.js +13 -0
- package/dist/esm/excel-import-session.d.ts +51 -0
- package/dist/esm/excel-import-session.d.ts.map +1 -0
- package/dist/esm/excel-import-session.js +255 -0
- package/dist/esm/excel-import-worker.d.ts +7 -0
- package/dist/esm/excel-import-worker.d.ts.map +1 -0
- package/dist/esm/excel-import-worker.js +116 -0
- package/dist/esm/excel-parser/builtin-numfmts.d.ts +24 -0
- package/dist/esm/excel-parser/builtin-numfmts.d.ts.map +1 -0
- package/dist/esm/excel-parser/builtin-numfmts.js +59 -0
- package/dist/esm/excel-parser/cfb-decryptor.d.ts +53 -0
- package/dist/esm/excel-parser/cfb-decryptor.d.ts.map +1 -0
- package/dist/esm/excel-parser/cfb-decryptor.js +493 -0
- package/dist/esm/excel-parser/cfb-encryptor.d.ts +23 -0
- package/dist/esm/excel-parser/cfb-encryptor.d.ts.map +1 -0
- package/dist/esm/excel-parser/cfb-encryptor.js +181 -0
- package/dist/esm/excel-parser/dv-cell-stamp.d.ts +29 -0
- package/dist/esm/excel-parser/dv-cell-stamp.d.ts.map +1 -0
- package/dist/esm/excel-parser/dv-cell-stamp.js +155 -0
- package/dist/esm/excel-parser/helpers.d.ts +28 -0
- package/dist/esm/excel-parser/helpers.d.ts.map +1 -0
- package/dist/esm/excel-parser/helpers.js +160 -0
- package/dist/esm/excel-parser/interface.d.ts +179 -0
- package/dist/esm/excel-parser/interface.d.ts.map +1 -0
- package/dist/esm/excel-parser/interface.js +1 -0
- package/dist/esm/excel-parser/plugins/base/index.d.ts +31 -0
- package/dist/esm/excel-parser/plugins/base/index.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/base/index.js +64 -0
- package/dist/esm/excel-parser/plugins/ods/conditional-formatting.d.ts +16 -0
- package/dist/esm/excel-parser/plugins/ods/conditional-formatting.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/conditional-formatting.js +405 -0
- package/dist/esm/excel-parser/plugins/ods/data-validations.d.ts +15 -0
- package/dist/esm/excel-parser/plugins/ods/data-validations.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/data-validations.js +331 -0
- package/dist/esm/excel-parser/plugins/ods/formula.d.ts +8 -0
- package/dist/esm/excel-parser/plugins/ods/formula.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/formula.js +82 -0
- package/dist/esm/excel-parser/plugins/ods/index.d.ts +122 -0
- package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/index.js +2896 -0
- package/dist/esm/excel-parser/plugins/ods/sparklines.d.ts +25 -0
- package/dist/esm/excel-parser/plugins/ods/sparklines.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/sparklines.js +188 -0
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts +60 -0
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/styles.js +732 -0
- package/dist/esm/excel-parser/plugins/ods/types.d.ts +7 -0
- package/dist/esm/excel-parser/plugins/ods/types.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/ods/types.js +1 -0
- package/dist/esm/excel-parser/plugins/xls/index.d.ts +5 -0
- package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xls/index.js +7 -0
- package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.d.ts +13 -0
- package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.js +48 -0
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts +117 -0
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsb/index.js +2339 -0
- package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.d.ts +18 -0
- package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.js +522 -0
- package/dist/esm/excel-parser/plugins/xlsm/index.d.ts +5 -0
- package/dist/esm/excel-parser/plugins/xlsm/index.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsm/index.js +6 -0
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +60 -0
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/charts.js +2036 -0
- package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts +18 -0
- package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.js +621 -0
- package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts +4 -0
- package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/data-validations.js +493 -0
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +39 -0
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/drawing.js +905 -0
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +320 -0
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/index.js +4654 -0
- package/dist/esm/excel-parser/plugins/xlsx/numfmt.d.ts +2 -0
- package/dist/esm/excel-parser/plugins/xlsx/numfmt.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/numfmt.js +3 -0
- package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts +40 -0
- package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/pivots.js +254 -0
- package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts +8 -0
- package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/relationships.js +13 -0
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts +26 -0
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.js +64 -0
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +44 -0
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/styles.js +1365 -0
- package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts +50 -0
- package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/theme.js +127 -0
- package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.d.ts +47 -0
- package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.js +103 -0
- package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts +44 -0
- package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -0
- package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.js +399 -0
- package/dist/esm/excel-parser/registry.d.ts +5 -0
- package/dist/esm/excel-parser/registry.d.ts.map +1 -0
- package/dist/esm/excel-parser/registry.js +20 -0
- package/dist/esm/excel-parser/style-registry.d.ts +51 -0
- package/dist/esm/excel-parser/style-registry.d.ts.map +1 -0
- package/dist/esm/excel-parser/style-registry.js +163 -0
- package/dist/esm/excel-parser/theme-default.d.ts +3 -0
- package/dist/esm/excel-parser/theme-default.d.ts.map +1 -0
- package/dist/esm/excel-parser/theme-default.js +19 -0
- package/dist/esm/excel-parser/types.d.ts +365 -0
- package/dist/esm/excel-parser/types.d.ts.map +1 -0
- package/dist/esm/excel-parser/types.js +59 -0
- package/dist/esm/excel-parser/utils.d.ts +6 -0
- package/dist/esm/excel-parser/utils.d.ts.map +1 -0
- package/dist/esm/excel-parser/utils.js +25 -0
- package/dist/esm/excel-parser/workbook.d.ts +51 -0
- package/dist/esm/excel-parser/workbook.d.ts.map +1 -0
- package/dist/esm/excel-parser/workbook.js +192 -0
- package/dist/esm/excel-parser/worker.d.ts +2 -0
- package/dist/esm/excel-parser/worker.d.ts.map +1 -0
- package/dist/esm/excel-parser/worker.js +862 -0
- package/dist/esm/excel-parser/zip-parser-streaming.d.ts +13 -0
- package/dist/esm/excel-parser/zip-parser-streaming.d.ts.map +1 -0
- package/dist/esm/excel-parser/zip-parser-streaming.js +119 -0
- package/dist/esm/excel-parser/zip-parser.d.ts +11 -0
- package/dist/esm/excel-parser/zip-parser.d.ts.map +1 -0
- package/dist/esm/excel-parser/zip-parser.js +43 -0
- package/dist/esm/exporter/invalid-data-validation.d.ts +19 -0
- package/dist/esm/exporter/invalid-data-validation.d.ts.map +1 -0
- package/dist/esm/exporter/invalid-data-validation.js +37 -0
- package/dist/esm/exporter/ods/ods-export.d.ts +26 -0
- package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -0
- package/dist/esm/exporter/ods/ods-export.js +3238 -0
- package/dist/esm/exporter/ods/sparkline-builder.d.ts +33 -0
- package/dist/esm/exporter/ods/sparkline-builder.d.ts.map +1 -0
- package/dist/esm/exporter/ods/sparkline-builder.js +165 -0
- package/dist/esm/exporter/xlsx/chart-builder.d.ts +3 -0
- package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/chart-builder.js +1805 -0
- package/dist/esm/exporter/xlsx/chart-templates.d.ts +1781 -0
- package/dist/esm/exporter/xlsx/chart-templates.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/chart-templates.js +1798 -0
- package/dist/esm/exporter/xlsx/future-functions.d.ts +10 -0
- package/dist/esm/exporter/xlsx/future-functions.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/future-functions.js +264 -0
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts +58 -0
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/pivot-builder.js +230 -0
- package/dist/esm/exporter/xlsx/power-query-builder.d.ts +26 -0
- package/dist/esm/exporter/xlsx/power-query-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/power-query-builder.js +257 -0
- package/dist/esm/exporter/xlsx/slicer-builder.d.ts +11 -0
- package/dist/esm/exporter/xlsx/slicer-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/slicer-builder.js +84 -0
- package/dist/esm/exporter/xlsx/sparkline-builder.d.ts +61 -0
- package/dist/esm/exporter/xlsx/sparkline-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/sparkline-builder.js +437 -0
- package/dist/esm/exporter/xlsx/style-builder.d.ts +93 -0
- package/dist/esm/exporter/xlsx/style-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/style-builder.js +795 -0
- package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts +58 -0
- package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/threaded-comments-builder.js +175 -0
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts +121 -0
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -0
- package/dist/esm/exporter/xlsx/xlsx-export.js +4062 -0
- package/dist/esm/helpers/theme-xml-generator.d.ts +8 -0
- package/dist/esm/helpers/theme-xml-generator.d.ts.map +1 -0
- package/dist/esm/helpers/theme-xml-generator.js +33 -0
- package/dist/esm/helpers.d.ts +34 -0
- package/dist/esm/helpers.d.ts.map +1 -0
- package/dist/esm/helpers.js +182 -0
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/indexed-colors.d.ts +2 -0
- package/dist/esm/indexed-colors.d.ts.map +1 -0
- package/dist/esm/indexed-colors.js +75 -0
- package/dist/esm/ods-export.d.ts +24 -0
- package/dist/esm/ods-export.d.ts.map +1 -0
- package/dist/esm/ods-export.js +12 -0
- package/dist/esm/parse.d.ts +24 -0
- package/dist/esm/parse.d.ts.map +1 -0
- package/dist/esm/parse.js +55 -0
- package/dist/esm/power-query.d.ts +41 -0
- package/dist/esm/power-query.d.ts.map +1 -0
- package/dist/esm/power-query.js +19 -0
- package/dist/esm/server.d.ts +9 -0
- package/dist/esm/server.d.ts.map +1 -0
- package/dist/esm/server.js +8 -0
- package/dist/esm/theme1.d.ts +3 -0
- package/dist/esm/theme1.d.ts.map +1 -0
- package/dist/esm/theme1.js +2 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +14 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +14 -0
- package/dist/esm/vitest.config.d.ts +3 -0
- package/dist/esm/vitest.config.d.ts.map +1 -0
- package/dist/esm/vitest.config.js +16 -0
- package/package.json +62 -0
- package/xlsx.d.ts +52 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse Rgce (Reverse Polish Notation Compiled Expression) - binary formula format in XLSB
|
|
3
|
+
* This converts binary Ptg (Parsed Token) tokens into a formula string
|
|
4
|
+
*
|
|
5
|
+
* @param rgceBytes - The binary formula data
|
|
6
|
+
* @returns The formula string (without leading "=")
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Parse Rgce with sheet names for cross-sheet references
|
|
10
|
+
* @param rgceBytes - The binary formula data
|
|
11
|
+
* @param sheetNames - Array of sheet names for resolving external references
|
|
12
|
+
* @returns The formula string (without leading "=")
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseRgce(rgceBytes: Uint8Array, sheetRefResolver?: string[] | ((ixti: number) => string | undefined), baseCell?: {
|
|
15
|
+
row: number;
|
|
16
|
+
col: number;
|
|
17
|
+
}, debug?: boolean): string;
|
|
18
|
+
//# sourceMappingURL=rgce-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgce-parser.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsb/rgce-parser.ts"],"names":[],"mappings":"AAuHA;;;;;;GAMG;AACH;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,UAAU,EACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,EACpE,QAAQ,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACvC,KAAK,UAAQ,GACZ,MAAM,CAqaR"}
|
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
import { number2Alpha } from "@rowsncolumns/utils";
|
|
2
|
+
/**
|
|
3
|
+
* Reader class for parsing Rgce bytes
|
|
4
|
+
*/
|
|
5
|
+
class RgceReader {
|
|
6
|
+
view;
|
|
7
|
+
offset = 0;
|
|
8
|
+
bytes;
|
|
9
|
+
constructor(bytes) {
|
|
10
|
+
this.bytes = bytes;
|
|
11
|
+
this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
12
|
+
}
|
|
13
|
+
readUInt8() {
|
|
14
|
+
const value = this.view.getUint8(this.offset);
|
|
15
|
+
this.offset += 1;
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
readUInt16LE() {
|
|
19
|
+
const value = this.view.getUint16(this.offset, true);
|
|
20
|
+
this.offset += 2;
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
readUInt32LE() {
|
|
24
|
+
const value = this.view.getUint32(this.offset, true);
|
|
25
|
+
this.offset += 4;
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
readInt32LE() {
|
|
29
|
+
const value = this.view.getInt32(this.offset, true);
|
|
30
|
+
this.offset += 4;
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
readInt16LE() {
|
|
34
|
+
const value = this.view.getInt16(this.offset, true);
|
|
35
|
+
this.offset += 2;
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
readFloat64LE() {
|
|
39
|
+
const value = this.view.getFloat64(this.offset, true);
|
|
40
|
+
this.offset += 8;
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
readUtf16Chars(charCount) {
|
|
44
|
+
if (charCount <= 0)
|
|
45
|
+
return "";
|
|
46
|
+
const byteCount = charCount * 2;
|
|
47
|
+
const slice = this.bytes.subarray(this.offset, this.offset + byteCount);
|
|
48
|
+
this.offset += byteCount;
|
|
49
|
+
return new TextDecoder("utf-16le").decode(slice);
|
|
50
|
+
}
|
|
51
|
+
readXLWideString() {
|
|
52
|
+
const cch = this.readUInt32LE();
|
|
53
|
+
return cch === 0 ? "" : this.readUtf16Chars(cch);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Common Excel function names by ID (ftab index)
|
|
57
|
+
const FUNCTION_NAMES = {
|
|
58
|
+
0: "COUNT", 1: "IF", 2: "ISNA", 3: "ISERROR", 4: "SUM", 5: "AVERAGE",
|
|
59
|
+
6: "MIN", 7: "MAX", 8: "ROW", 9: "COLUMN", 10: "NA", 11: "NPV",
|
|
60
|
+
12: "STDEV", 13: "DOLLAR", 14: "FIXED", 15: "SIN", 16: "COS",
|
|
61
|
+
17: "TAN", 18: "ATAN", 19: "PI", 20: "SQRT", 21: "EXP", 22: "LN",
|
|
62
|
+
23: "LOG10", 24: "ABS", 25: "INT", 26: "SIGN", 27: "ROUND",
|
|
63
|
+
28: "LOOKUP", 29: "INDEX", 30: "REPT", 31: "MID", 32: "LEN",
|
|
64
|
+
33: "VALUE", 34: "TRUE", 35: "FALSE", 36: "AND", 37: "OR",
|
|
65
|
+
38: "NOT", 39: "MOD", 40: "DCOUNT", 41: "DSUM", 42: "DAVERAGE",
|
|
66
|
+
43: "DMIN", 44: "DMAX", 45: "DSTDEV", 46: "VAR", 47: "DVAR",
|
|
67
|
+
48: "TEXT", 49: "LINEST", 50: "TREND", 51: "LOGEST", 52: "GROWTH",
|
|
68
|
+
61: "MIRR", 62: "IRR", 63: "RAND", 64: "MATCH", 65: "DATE",
|
|
69
|
+
66: "TIME", 67: "DAY", 68: "MONTH", 69: "YEAR", 70: "WEEKDAY",
|
|
70
|
+
71: "HOUR", 72: "MINUTE", 73: "SECOND", 74: "NOW", 75: "AREAS",
|
|
71
|
+
76: "ROWS", 77: "COLUMNS", 78: "OFFSET", 82: "SEARCH", 83: "TRANSPOSE",
|
|
72
|
+
86: "TYPE", 97: "ATAN2", 98: "ASIN", 99: "ACOS", 100: "CHOOSE",
|
|
73
|
+
101: "HLOOKUP", 102: "VLOOKUP", 103: "ISREF", 104: "LOG",
|
|
74
|
+
105: "CHAR", 106: "LOWER", 107: "UPPER", 108: "PROPER", 109: "LEFT",
|
|
75
|
+
110: "RIGHT", 111: "EXACT", 112: "TRIM", 113: "REPLACE", 114: "SUBSTITUTE",
|
|
76
|
+
115: "CODE", 116: "NAMES", 117: "DIRECTORY", 118: "FIND", 119: "CELL",
|
|
77
|
+
120: "ISERR", 121: "ISTEXT", 122: "ISNUMBER", 123: "ISBLANK",
|
|
78
|
+
124: "T", 125: "N", 127: "ISNONTEXT", 128: "ISODD", 129: "ISEVEN",
|
|
79
|
+
162: "CLEAN", 163: "MDETERM", 164: "MINVERSE", 165: "MMULT",
|
|
80
|
+
167: "IPMT", 168: "PPMT", 169: "COUNTA", 183: "PRODUCT",
|
|
81
|
+
184: "FACT", 189: "DPRODUCT", 190: "ISNONTEXT",
|
|
82
|
+
193: "STDEVP", 194: "VARP", 195: "DSTDEVP", 196: "DVARP",
|
|
83
|
+
197: "TRUNC", 198: "ISLOGICAL", 199: "DCOUNTA", 200: "DELETEBAR",
|
|
84
|
+
216: "RANK", 219: "ADDRESS", 220: "DAYS360", 221: "TODAY",
|
|
85
|
+
222: "VDB", 227: "MEDIAN", 228: "SUMPRODUCT", 229: "SINH",
|
|
86
|
+
230: "COSH", 231: "TANH", 232: "ASINH", 233: "ACOSH", 234: "ATANH",
|
|
87
|
+
235: "DGET", 244: "INFO", 247: "DB", 252: "FREQUENCY",
|
|
88
|
+
261: "ERROR.TYPE", 269: "AVEDEV", 270: "BETADIST", 271: "GAMMALN",
|
|
89
|
+
272: "BETAINV", 273: "BINOMDIST", 274: "CHIDIST", 275: "CHIINV",
|
|
90
|
+
276: "COMBIN", 277: "CONFIDENCE", 278: "CRITBINOM", 279: "EVEN",
|
|
91
|
+
280: "EXPONDIST", 281: "FDIST", 282: "FINV", 283: "FISHER",
|
|
92
|
+
284: "FISHERINV", 285: "FLOOR", 286: "GAMMADIST", 287: "GAMMAINV",
|
|
93
|
+
288: "CEILING", 289: "HYPGEOMDIST", 290: "LOGNORMDIST", 291: "LOGINV",
|
|
94
|
+
292: "NEGBINOMDIST", 293: "NORMDIST", 294: "NORMSDIST", 295: "NORMINV",
|
|
95
|
+
296: "NORMSINV", 297: "STANDARDIZE", 298: "ODD", 299: "PERMUT",
|
|
96
|
+
300: "POISSON", 301: "TDIST", 302: "WEIBULL", 303: "SUMXMY2",
|
|
97
|
+
304: "SUMX2MY2", 305: "SUMX2PY2", 306: "CHITEST", 307: "CORREL",
|
|
98
|
+
308: "COVAR", 309: "FORECAST", 310: "FTEST", 311: "INTERCEPT",
|
|
99
|
+
312: "PEARSON", 313: "RSQ", 314: "STEYX", 315: "SLOPE", 316: "TTEST",
|
|
100
|
+
317: "PROB", 318: "DEVSQ", 319: "GEOMEAN", 320: "HARMEAN",
|
|
101
|
+
321: "SUMSQ", 322: "KURT", 323: "SKEW", 324: "ZTEST", 325: "LARGE",
|
|
102
|
+
326: "SMALL", 327: "QUARTILE", 328: "PERCENTILE", 329: "PERCENTRANK",
|
|
103
|
+
330: "MODE", 331: "TRIMMEAN", 332: "TINV", 334: "CONCATENATE",
|
|
104
|
+
335: "POWER", 336: "RADIANS", 337: "DEGREES", 338: "SUBTOTAL",
|
|
105
|
+
339: "SUMIF", 340: "COUNTIF", 341: "COUNTBLANK", 342: "HYPERLINK",
|
|
106
|
+
343: "PHONETIC", 344: "AVERAGEA", 345: "MAXA", 346: "MINA",
|
|
107
|
+
347: "STDEVPA", 348: "VARPA", 349: "STDEVA", 350: "VARA",
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Parse Rgce (Reverse Polish Notation Compiled Expression) - binary formula format in XLSB
|
|
111
|
+
* This converts binary Ptg (Parsed Token) tokens into a formula string
|
|
112
|
+
*
|
|
113
|
+
* @param rgceBytes - The binary formula data
|
|
114
|
+
* @returns The formula string (without leading "=")
|
|
115
|
+
*/
|
|
116
|
+
/**
|
|
117
|
+
* Parse Rgce with sheet names for cross-sheet references
|
|
118
|
+
* @param rgceBytes - The binary formula data
|
|
119
|
+
* @param sheetNames - Array of sheet names for resolving external references
|
|
120
|
+
* @returns The formula string (without leading "=")
|
|
121
|
+
*/
|
|
122
|
+
export function parseRgce(rgceBytes, sheetRefResolver, baseCell, debug = false) {
|
|
123
|
+
if (!rgceBytes || rgceBytes.length === 0)
|
|
124
|
+
return "";
|
|
125
|
+
const reader = new RgceReader(rgceBytes);
|
|
126
|
+
const stack = [];
|
|
127
|
+
if (debug) {
|
|
128
|
+
console.log("[Rgce] Parsing", rgceBytes.length, "bytes:", Array.from(rgceBytes.slice(0, Math.min(30, rgceBytes.length)))
|
|
129
|
+
.map(b => `0x${b.toString(16).padStart(2, '0')}`)
|
|
130
|
+
.join(' '));
|
|
131
|
+
}
|
|
132
|
+
const fixedArgCounts = {
|
|
133
|
+
15: 1, // SIN
|
|
134
|
+
16: 1, // COS
|
|
135
|
+
17: 1, // TAN
|
|
136
|
+
19: 0, // PI
|
|
137
|
+
20: 1, // SQRT
|
|
138
|
+
21: 1, // EXP
|
|
139
|
+
22: 1, // LN
|
|
140
|
+
24: 1, // ABS
|
|
141
|
+
25: 1, // INT
|
|
142
|
+
27: 2, // ROUND
|
|
143
|
+
31: 3, // MID
|
|
144
|
+
32: 1, // LEN
|
|
145
|
+
34: 0, // TRUE
|
|
146
|
+
35: 0, // FALSE
|
|
147
|
+
39: 2, // MOD
|
|
148
|
+
65: 3, // DATE
|
|
149
|
+
66: 3, // TIME
|
|
150
|
+
67: 1, // DAY
|
|
151
|
+
68: 1, // MONTH
|
|
152
|
+
69: 1, // YEAR
|
|
153
|
+
71: 1, // HOUR
|
|
154
|
+
72: 1, // MINUTE
|
|
155
|
+
73: 1, // SECOND
|
|
156
|
+
74: 0, // NOW
|
|
157
|
+
105: 1, // CHAR
|
|
158
|
+
106: 1, // LOWER
|
|
159
|
+
107: 1, // UPPER
|
|
160
|
+
109: 2, // LEFT
|
|
161
|
+
110: 2, // RIGHT
|
|
162
|
+
111: 2, // EXACT
|
|
163
|
+
112: 1, // TRIM
|
|
164
|
+
115: 1, // CODE
|
|
165
|
+
183: 1, // PRODUCT
|
|
166
|
+
197: 2, // TRUNC
|
|
167
|
+
221: 0, // TODAY
|
|
168
|
+
335: 2, // POWER
|
|
169
|
+
336: 1, // RADIANS
|
|
170
|
+
337: 1, // DEGREES
|
|
171
|
+
};
|
|
172
|
+
const canRead = (n) => reader.offset + n <= rgceBytes.length;
|
|
173
|
+
const quoteSheetName = (name) => /[\s!'[\]]/.test(name) ? `'${name.replace(/'/g, "''")}'` : name;
|
|
174
|
+
const resolveSheetName = (ixti) => {
|
|
175
|
+
if (typeof sheetRefResolver === "function") {
|
|
176
|
+
return sheetRefResolver(ixti);
|
|
177
|
+
}
|
|
178
|
+
return sheetRefResolver?.[ixti];
|
|
179
|
+
};
|
|
180
|
+
const popArgs = (count) => {
|
|
181
|
+
const args = [];
|
|
182
|
+
for (let i = 0; i < count; i++)
|
|
183
|
+
args.unshift(stack.pop() || "");
|
|
184
|
+
return args;
|
|
185
|
+
};
|
|
186
|
+
const pushFixedFunction = (ftabIndex) => {
|
|
187
|
+
const funcName = FUNCTION_NAMES[ftabIndex] || `FUNC${ftabIndex}`;
|
|
188
|
+
const cargs = fixedArgCounts[ftabIndex] ?? 0;
|
|
189
|
+
stack.push(`${funcName}(${popArgs(cargs).join(",")})`);
|
|
190
|
+
};
|
|
191
|
+
const pushVariableFunction = (cargs, ftabIndex) => {
|
|
192
|
+
const funcName = FUNCTION_NAMES[ftabIndex] || `FUNC${ftabIndex}`;
|
|
193
|
+
stack.push(`${funcName}(${popArgs(cargs).join(",")})`);
|
|
194
|
+
};
|
|
195
|
+
const formatRef = (rowZero, colZero, rowRel, colRel) => {
|
|
196
|
+
const row = Math.max(0, rowZero);
|
|
197
|
+
const col = Math.max(0, colZero);
|
|
198
|
+
return `${colRel ? "" : "$"}${number2Alpha(col)}${rowRel ? "" : "$"}${row + 1}`;
|
|
199
|
+
};
|
|
200
|
+
const readShortRef = () => {
|
|
201
|
+
const row = reader.readUInt32LE();
|
|
202
|
+
const col = reader.readUInt16LE();
|
|
203
|
+
const rowRel = (col & 0x8000) !== 0;
|
|
204
|
+
const colRel = (col & 0x4000) !== 0;
|
|
205
|
+
return formatRef(row & 0x000fffff, col & 0x3fff, rowRel, colRel);
|
|
206
|
+
};
|
|
207
|
+
const readShortArea = () => {
|
|
208
|
+
const rowFirst = reader.readUInt32LE();
|
|
209
|
+
const rowLast = reader.readUInt32LE();
|
|
210
|
+
const colFirst = reader.readUInt16LE();
|
|
211
|
+
const colLast = reader.readUInt16LE();
|
|
212
|
+
const refFirst = formatRef(rowFirst & 0x000fffff, colFirst & 0x3fff, (colFirst & 0x8000) !== 0, (colFirst & 0x4000) !== 0);
|
|
213
|
+
const refLast = formatRef(rowLast & 0x000fffff, colLast & 0x3fff, (colLast & 0x8000) !== 0, (colLast & 0x4000) !== 0);
|
|
214
|
+
return `${refFirst}:${refLast}`;
|
|
215
|
+
};
|
|
216
|
+
const readRelShortRef = () => {
|
|
217
|
+
const rowOffset = reader.readInt32LE();
|
|
218
|
+
const colRaw = reader.readInt16LE();
|
|
219
|
+
const colOffset14 = colRaw & 0x3fff;
|
|
220
|
+
const colOffset = (colOffset14 << 18) >> 18;
|
|
221
|
+
const baseRowZero = Math.max(0, (baseCell?.row ?? 1) - 1);
|
|
222
|
+
const baseColZero = Math.max(0, (baseCell?.col ?? 1) - 1);
|
|
223
|
+
return formatRef(baseRowZero + rowOffset, baseColZero + colOffset, true, true);
|
|
224
|
+
};
|
|
225
|
+
const readRelShortArea = () => {
|
|
226
|
+
const rowFirstOffset = reader.readInt32LE();
|
|
227
|
+
const rowLastOffset = reader.readInt32LE();
|
|
228
|
+
const colFirstRaw = reader.readInt16LE();
|
|
229
|
+
const colLastRaw = reader.readInt16LE();
|
|
230
|
+
const colFirstOffset = ((colFirstRaw & 0x3fff) << 18) >> 18;
|
|
231
|
+
const colLastOffset = ((colLastRaw & 0x3fff) << 18) >> 18;
|
|
232
|
+
const baseRowZero = Math.max(0, (baseCell?.row ?? 1) - 1);
|
|
233
|
+
const baseColZero = Math.max(0, (baseCell?.col ?? 1) - 1);
|
|
234
|
+
const refFirst = formatRef(baseRowZero + rowFirstOffset, baseColZero + colFirstOffset, true, true);
|
|
235
|
+
const refLast = formatRef(baseRowZero + rowLastOffset, baseColZero + colLastOffset, true, true);
|
|
236
|
+
return `${refFirst}:${refLast}`;
|
|
237
|
+
};
|
|
238
|
+
try {
|
|
239
|
+
while (reader.offset < rgceBytes.length) {
|
|
240
|
+
const ptgOffset = reader.offset;
|
|
241
|
+
const ptg = reader.readUInt8();
|
|
242
|
+
if (debug) {
|
|
243
|
+
console.log(`[Rgce] @${ptgOffset}: ptg=0x${ptg.toString(16).padStart(2, '0')} stack=[${stack.join(', ')}]`);
|
|
244
|
+
}
|
|
245
|
+
// Handle token based on value
|
|
246
|
+
// Operators are 0x00-0x1f (no class bits)
|
|
247
|
+
// References/functions are 0x20-0x7f (have class bits in bits 5-6)
|
|
248
|
+
if (ptg === 0x03) {
|
|
249
|
+
// PtgAdd
|
|
250
|
+
const right = stack.pop() || "0";
|
|
251
|
+
const left = stack.pop() || "0";
|
|
252
|
+
stack.push(`${left}+${right}`);
|
|
253
|
+
}
|
|
254
|
+
else if (ptg === 0x04) {
|
|
255
|
+
// PtgSub - subtraction operator
|
|
256
|
+
const right = stack.pop() || "0";
|
|
257
|
+
const left = stack.pop() || "0";
|
|
258
|
+
stack.push(`${left}-${right}`);
|
|
259
|
+
}
|
|
260
|
+
else if (ptg === 0x05) {
|
|
261
|
+
// PtgMul - multiplication operator
|
|
262
|
+
const right = stack.pop() || "0";
|
|
263
|
+
const left = stack.pop() || "0";
|
|
264
|
+
stack.push(`${left}*${right}`);
|
|
265
|
+
}
|
|
266
|
+
else if (ptg === 0x06) {
|
|
267
|
+
// PtgDiv
|
|
268
|
+
const right = stack.pop() || "0";
|
|
269
|
+
const left = stack.pop() || "0";
|
|
270
|
+
stack.push(`${left}/${right}`);
|
|
271
|
+
}
|
|
272
|
+
else if (ptg === 0x07) {
|
|
273
|
+
// PtgPower
|
|
274
|
+
const right = stack.pop() || "0";
|
|
275
|
+
const left = stack.pop() || "0";
|
|
276
|
+
stack.push(`${left}^${right}`);
|
|
277
|
+
}
|
|
278
|
+
else if (ptg === 0x08) {
|
|
279
|
+
// PtgConcat
|
|
280
|
+
const right = stack.pop() || '""';
|
|
281
|
+
const left = stack.pop() || '""';
|
|
282
|
+
stack.push(`${left}&${right}`);
|
|
283
|
+
}
|
|
284
|
+
else if (ptg === 0x09) {
|
|
285
|
+
// PtgLT
|
|
286
|
+
const right = stack.pop() || "0";
|
|
287
|
+
const left = stack.pop() || "0";
|
|
288
|
+
stack.push(`${left}<${right}`);
|
|
289
|
+
}
|
|
290
|
+
else if (ptg === 0x0a) {
|
|
291
|
+
// PtgLE
|
|
292
|
+
const right = stack.pop() || "0";
|
|
293
|
+
const left = stack.pop() || "0";
|
|
294
|
+
stack.push(`${left}<=${right}`);
|
|
295
|
+
}
|
|
296
|
+
else if (ptg === 0x0b) {
|
|
297
|
+
// PtgEQ
|
|
298
|
+
const right = stack.pop() || "0";
|
|
299
|
+
const left = stack.pop() || "0";
|
|
300
|
+
stack.push(`${left}=${right}`);
|
|
301
|
+
}
|
|
302
|
+
else if (ptg === 0x0c) {
|
|
303
|
+
// PtgGE
|
|
304
|
+
const right = stack.pop() || "0";
|
|
305
|
+
const left = stack.pop() || "0";
|
|
306
|
+
stack.push(`${left}>=${right}`);
|
|
307
|
+
}
|
|
308
|
+
else if (ptg === 0x0d) {
|
|
309
|
+
// PtgGT
|
|
310
|
+
const right = stack.pop() || "0";
|
|
311
|
+
const left = stack.pop() || "0";
|
|
312
|
+
stack.push(`${left}>${right}`);
|
|
313
|
+
}
|
|
314
|
+
else if (ptg === 0x0e) {
|
|
315
|
+
// PtgNE
|
|
316
|
+
const right = stack.pop() || "0";
|
|
317
|
+
const left = stack.pop() || "0";
|
|
318
|
+
stack.push(`${left}<>${right}`);
|
|
319
|
+
}
|
|
320
|
+
else if (ptg === 0x12) {
|
|
321
|
+
// PtgUPlus
|
|
322
|
+
const operand = stack.pop() || "0";
|
|
323
|
+
stack.push(`+${operand}`);
|
|
324
|
+
}
|
|
325
|
+
else if (ptg === 0x13) {
|
|
326
|
+
// PtgUMinus
|
|
327
|
+
const operand = stack.pop() || "0";
|
|
328
|
+
stack.push(`-${operand}`);
|
|
329
|
+
}
|
|
330
|
+
else if (ptg === 0x14) {
|
|
331
|
+
// PtgPercent
|
|
332
|
+
const operand = stack.pop() || "0";
|
|
333
|
+
stack.push(`${operand}%`);
|
|
334
|
+
}
|
|
335
|
+
else if (ptg === 0x15) {
|
|
336
|
+
// PtgParen
|
|
337
|
+
const operand = stack.pop() || "";
|
|
338
|
+
stack.push(`(${operand})`);
|
|
339
|
+
}
|
|
340
|
+
else if (ptg === 0x16) {
|
|
341
|
+
// PtgMissArg - missing argument (empty between commas)
|
|
342
|
+
stack.push("");
|
|
343
|
+
}
|
|
344
|
+
else if (ptg === 0x17) {
|
|
345
|
+
// PtgStr - string constant
|
|
346
|
+
const str = reader.readXLWideString();
|
|
347
|
+
stack.push(`"${str.replace(/"/g, '""')}"`);
|
|
348
|
+
}
|
|
349
|
+
else if (ptg === 0x1d) {
|
|
350
|
+
// PtgBool - boolean constant
|
|
351
|
+
const value = reader.readUInt8();
|
|
352
|
+
stack.push(value ? "TRUE" : "FALSE");
|
|
353
|
+
}
|
|
354
|
+
else if (ptg === 0x1e) {
|
|
355
|
+
// PtgInt - integer constant
|
|
356
|
+
const value = reader.readUInt16LE();
|
|
357
|
+
stack.push(String(value));
|
|
358
|
+
}
|
|
359
|
+
else if (ptg === 0x1f) {
|
|
360
|
+
// PtgNum - float constant
|
|
361
|
+
const value = reader.readFloat64LE();
|
|
362
|
+
stack.push(String(value));
|
|
363
|
+
}
|
|
364
|
+
else if (ptg === 0x18) {
|
|
365
|
+
// PtgErr - error constant
|
|
366
|
+
if (!canRead(1))
|
|
367
|
+
break;
|
|
368
|
+
const code = reader.readUInt8();
|
|
369
|
+
const errorValues = {
|
|
370
|
+
0x00: "#NULL!",
|
|
371
|
+
0x07: "#DIV/0!",
|
|
372
|
+
0x0f: "#VALUE!",
|
|
373
|
+
0x17: "#REF!",
|
|
374
|
+
0x1d: "#NAME?",
|
|
375
|
+
0x24: "#NUM!",
|
|
376
|
+
0x2a: "#N/A",
|
|
377
|
+
0x2b: "#GETTING_DATA",
|
|
378
|
+
};
|
|
379
|
+
stack.push(errorValues[code] || "#VALUE!");
|
|
380
|
+
}
|
|
381
|
+
else if (ptg === 0x19) {
|
|
382
|
+
// PtgAttr: 1 byte flags + 2 bytes data
|
|
383
|
+
if (!canRead(3))
|
|
384
|
+
break;
|
|
385
|
+
const flags = reader.readUInt8();
|
|
386
|
+
const data = reader.readUInt16LE();
|
|
387
|
+
// Handle various PtgAttr flags
|
|
388
|
+
if ((flags & 0x10) !== 0) {
|
|
389
|
+
// fSum: treat previous operand as SUM(operand)
|
|
390
|
+
const operand = stack.pop() || "";
|
|
391
|
+
stack.push(`SUM(${operand})`);
|
|
392
|
+
}
|
|
393
|
+
// Note: Other flags (fIf=0x02, fChoose=0x04, fSkip=0x08, fGoto=0x01)
|
|
394
|
+
// are for control flow and typically don't affect the formula string
|
|
395
|
+
// They just affect how bytes are skipped during parsing
|
|
396
|
+
}
|
|
397
|
+
else if (ptg === 0x01) {
|
|
398
|
+
// Ambiguous in some XLSB streams:
|
|
399
|
+
// - PtgExp (4-byte payload)
|
|
400
|
+
// - PtgFunc ref-class variant (2-byte payload)
|
|
401
|
+
if (canRead(4)) {
|
|
402
|
+
const srcRow = reader.readUInt16LE() + 1;
|
|
403
|
+
const srcCol = reader.readUInt16LE() + 1;
|
|
404
|
+
stack.push(`__PTGEXP__:${srcRow}:${srcCol}`);
|
|
405
|
+
}
|
|
406
|
+
else if (canRead(2)) {
|
|
407
|
+
pushFixedFunction(reader.readUInt16LE());
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
break;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
else if (ptg === 0x02) {
|
|
414
|
+
// PtgFuncVar reference-class variant (0x02)
|
|
415
|
+
// In practice, 0x02 is PtgFuncVar, not PtgTbl
|
|
416
|
+
if (canRead(3)) {
|
|
417
|
+
const cargs = reader.readUInt8();
|
|
418
|
+
pushVariableFunction(cargs, reader.readUInt16LE());
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
break;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
else if (ptg === 0x1a || ptg === 0x3a || ptg === 0x5a || ptg === 0x7a) {
|
|
425
|
+
// PtgRef3d - cross-sheet cell reference
|
|
426
|
+
if (!canRead(8))
|
|
427
|
+
break;
|
|
428
|
+
const ixti = reader.readUInt16LE(); // External sheet index
|
|
429
|
+
const cellRef = readShortRef();
|
|
430
|
+
// Get sheet name if available
|
|
431
|
+
const sheetName = resolveSheetName(ixti);
|
|
432
|
+
if (sheetName) {
|
|
433
|
+
const quotedName = quoteSheetName(sheetName);
|
|
434
|
+
stack.push(`${quotedName}!${cellRef}`);
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
stack.push(cellRef);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
else if (ptg === 0x1b || ptg === 0x3b || ptg === 0x5b || ptg === 0x7b) {
|
|
441
|
+
// PtgArea3d - cross-sheet range reference
|
|
442
|
+
if (!canRead(14))
|
|
443
|
+
break;
|
|
444
|
+
const ixti = reader.readUInt16LE(); // External sheet index
|
|
445
|
+
const rangeRef = readShortArea();
|
|
446
|
+
// Get sheet name if available
|
|
447
|
+
const sheetName = resolveSheetName(ixti);
|
|
448
|
+
if (sheetName) {
|
|
449
|
+
const quotedName = quoteSheetName(sheetName);
|
|
450
|
+
stack.push(`${quotedName}!${rangeRef}`);
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
stack.push(rangeRef);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
// References and functions have class bits
|
|
457
|
+
else if (ptg >= 0x20) {
|
|
458
|
+
const basePtg = ptg & 0x1f;
|
|
459
|
+
if (basePtg === 0x01) {
|
|
460
|
+
// PtgFunc - function with fixed args
|
|
461
|
+
if (!canRead(2))
|
|
462
|
+
break;
|
|
463
|
+
pushFixedFunction(reader.readUInt16LE());
|
|
464
|
+
}
|
|
465
|
+
else if (basePtg === 0x02) {
|
|
466
|
+
// PtgFuncVar - function with variable args
|
|
467
|
+
if (!canRead(3))
|
|
468
|
+
break;
|
|
469
|
+
const cargs = reader.readUInt8();
|
|
470
|
+
pushVariableFunction(cargs, reader.readUInt16LE());
|
|
471
|
+
}
|
|
472
|
+
else if (basePtg === 0x04) {
|
|
473
|
+
// PtgRef - cell reference
|
|
474
|
+
if (!canRead(6))
|
|
475
|
+
break;
|
|
476
|
+
stack.push(readShortRef());
|
|
477
|
+
}
|
|
478
|
+
else if (basePtg === 0x05) {
|
|
479
|
+
// PtgArea - range reference
|
|
480
|
+
if (!canRead(12))
|
|
481
|
+
break;
|
|
482
|
+
stack.push(readShortArea());
|
|
483
|
+
}
|
|
484
|
+
else if (basePtg === 0x0c) {
|
|
485
|
+
// PtgRefN - relative cell reference (commonly used in shared formulas)
|
|
486
|
+
if (!canRead(6))
|
|
487
|
+
break;
|
|
488
|
+
stack.push(readRelShortRef());
|
|
489
|
+
}
|
|
490
|
+
else if (basePtg === 0x0d) {
|
|
491
|
+
// PtgAreaN - relative range reference
|
|
492
|
+
if (!canRead(12))
|
|
493
|
+
break;
|
|
494
|
+
stack.push(readRelShortArea());
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
// Unknown class token: break to avoid stream desync.
|
|
498
|
+
break;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
else {
|
|
502
|
+
// Unknown non-class token: break to avoid stream desync.
|
|
503
|
+
if (debug) {
|
|
504
|
+
console.log(`[Rgce] Unknown token 0x${ptg.toString(16)}, stopping parse`);
|
|
505
|
+
}
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
catch (err) {
|
|
511
|
+
// Parse error - return what we have so far
|
|
512
|
+
if (debug) {
|
|
513
|
+
console.error("[Rgce] Parse error:", err);
|
|
514
|
+
}
|
|
515
|
+
return stack.length > 0 ? stack[stack.length - 1] : "";
|
|
516
|
+
}
|
|
517
|
+
const result = stack.length > 0 ? stack[stack.length - 1] : "";
|
|
518
|
+
if (debug) {
|
|
519
|
+
console.log("[Rgce] Final result:", result);
|
|
520
|
+
}
|
|
521
|
+
return result;
|
|
522
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,UAAW,SAAQ,UAAU;;CAIzC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ChartData, EmbeddedChart, EmbeddedObjectPosition, HIDDEN_DIMENSION_STRATEGY, SheetRange } from "@rowsncolumns/spreadsheet";
|
|
2
|
+
import type { StreamingZipParser } from "../../zip-parser-streaming";
|
|
3
|
+
/**
|
|
4
|
+
* Resolver from a sheet name (as it appears inside chart formula refs,
|
|
5
|
+
* e.g. `'Data for the Chart'!$A$7:$A$26`) to the numeric sheetId in the
|
|
6
|
+
* workbook. Returns `undefined` when the sheet can't be found — the
|
|
7
|
+
* caller then falls back to the host sheetId, preserving the legacy
|
|
8
|
+
* behaviour (chart pinned to its own sheet) for malformed refs.
|
|
9
|
+
*/
|
|
10
|
+
export type ResolveSheetId = (sheetName: string | undefined) => number | undefined;
|
|
11
|
+
export declare function processChart(chartTarget: string, drawingPath: string, anchor: any, sheetId: number, zipParser: StreamingZipParser, xmlParser: any, sheetDimensions?: SheetDimensions, resolveSheetId?: ResolveSheetId): Promise<EmbeddedChart | null>;
|
|
12
|
+
export declare function extractChartDataRange(plotArea: any, chartType: string, sheetId: number, resolveSheetId?: ResolveSheetId): SheetRange | null;
|
|
13
|
+
/**
|
|
14
|
+
* Extract hidden dimension strategy from plotVisOnly attribute
|
|
15
|
+
* In Excel: plotVisOnly="1" means skip hidden rows/columns, "0" means show all
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractHiddenDimensionStrategy(chart: any): HIDDEN_DIMENSION_STRATEGY | undefined;
|
|
18
|
+
export declare function extractChartTitle(chart: any): string;
|
|
19
|
+
export declare function determineChartType(chart: any): "bar" | "column" | "line" | "pie" | "doughnut" | "area" | "radar" | "stock" | "scatter" | "bubble" | "treemap" | "sunburst" | "histogram" | "boxplot" | "waterfall" | "funnel";
|
|
20
|
+
/**
|
|
21
|
+
* Phase 5.5 — pull binCount out of the c15:histogramChart extension
|
|
22
|
+
* marker. Returns undefined if absent.
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractC15HistogramBinCount(plotArea: any): number | undefined;
|
|
25
|
+
export declare function extractChartSeries(plotArea: any, chartType: string, sheetId: number, resolveSheetId?: ResolveSheetId): ChartData[];
|
|
26
|
+
export declare function extractChartDomains(plotArea: any, chartType: string, sheetId: number, resolveSheetId?: ResolveSheetId): ChartData[];
|
|
27
|
+
/**
|
|
28
|
+
* Bubble charts have a third dimension — bubble size — referenced
|
|
29
|
+
* via `<c:bubbleSize><c:numRef><c:f>` on each series. Returns one
|
|
30
|
+
* `ChartData` entry per series (matches the shape used by `domains` /
|
|
31
|
+
* `series`).
|
|
32
|
+
*/
|
|
33
|
+
export declare function extractChartBubbleSizes(plotArea: any, sheetId: number, resolveSheetId?: ResolveSheetId): ChartData[];
|
|
34
|
+
export type SheetDimensions = {
|
|
35
|
+
columnWidths?: Map<number, number>;
|
|
36
|
+
rowHeights?: Map<number, number>;
|
|
37
|
+
defaultColumnWidth?: number;
|
|
38
|
+
defaultRowHeight?: number;
|
|
39
|
+
};
|
|
40
|
+
export declare function extractChartPosition(anchor: any, sheetId: number, sheetDimensions?: SheetDimensions): EmbeddedObjectPosition | null;
|
|
41
|
+
export declare function extractAxisOptions(plotArea: any): {
|
|
42
|
+
valueAxisOptions: any;
|
|
43
|
+
secondaryValueAxisOptions: any;
|
|
44
|
+
categoryAxisOptions: any;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Pie-of-pie / bar-of-pie — extract the of-pie layout fields from
|
|
48
|
+
* `<c:ofPieChart>`. Returns undefined for plain pies. `splitType`
|
|
49
|
+
* maps the OOXML tokens (`pos`/`val`/`percent`) to the spec vocabulary;
|
|
50
|
+
* `auto` and `cust` (custom point assignment, carried in `<c:custSplit>`
|
|
51
|
+
* which the spec cannot represent) are omitted so the renderer applies
|
|
52
|
+
* Excel's default rule (position, last 3 values).
|
|
53
|
+
*/
|
|
54
|
+
export declare function extractOfPieOptions(plotArea: any): {
|
|
55
|
+
ofPieType: "pie" | "bar";
|
|
56
|
+
splitType?: "position" | "value" | "percent";
|
|
57
|
+
splitPos?: number;
|
|
58
|
+
secondPieSize?: number;
|
|
59
|
+
} | undefined;
|
|
60
|
+
//# sourceMappingURL=charts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/charts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAET,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,UAAU,EACX,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AAkDnF,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,GAAG,EACd,eAAe,CAAC,EAAE,eAAe,EACjC,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA+L/B;AA8HD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,GAAG,IAAI,CAgEnB;AA+DD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,GAAG,GACT,yBAAyB,GAAG,SAAS,CAiBvC;AAyBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAoBpD;AA0BD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,GAAG,GAER,KAAK,GACL,QAAQ,GACR,MAAM,GACN,KAAK,GACL,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,UAAU,GACV,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,CAwEX;AAoED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,GAAG,GACZ,MAAM,GAAG,SAAS,CA+CpB;AAoGD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,SAAS,EAAE,CAkLb;AAioBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,SAAS,EAAE,CAgGb;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,SAAS,EAAE,CAiBb;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,eAAe,GAChC,sBAAsB,GAAG,IAAI,CA2H/B;AA4ND,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG;;;;EAe/C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAC7C;IACE,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD,SAAS,CAiCZ"}
|