Pre-wired bundle:
xlsx-large+ remaining xlsx-touching extras (every SpreadsheetML schema element typed or preserved).
Module xlsxFullBundle | Source packages/front/office/ooxml/src/bundles/xlsx-full.js | Deps xlsxLargeBundle + 8 extras | Worker-safe yes
Included
Everything in xlsx-large, plus:
smlFormControls— ActiveX form controlsdmlShapesAdvanced— custom geometrydmlXdrAdvanced— connectors / group shapes / absolute anchorstransitional— part 4 namespace mappinglegacyVml— standalone VMLsmlMisc— SML long-tail sweeperdmlChartMisc— chart long-tail sweeperdmlMainMisc— DrawingML long-tail sweeper
Resolve
const xl = runtime.resolve('xlsxFullBundle');
// Returns the same enriched `xlsx` instance `xlsxLargeBundle` produced.
API
Depends on xlsxLargeBundle plus every remaining xlsx-touching extra.
| Resolve key | Returns | Dependencies (auto-wired) |
|---|---|---|
'xlsxFullBundle' |
enriched xlsx API |
xlsxLargeBundle + smlFormControls, dmlShapesAdvanced, dmlXdrAdvanced, transitional, legacyVml, smlMisc, dmlChartMisc, dmlMainMisc |
Examples
import { ModuleRuntime } from '@awacloud/fw/core/runtime.js';
import { fw_require, modules, extras } from '@awacloud/ooxml';
import { xlsxLargeBundle } from '@awacloud/ooxml/bundles/xlsx-large';
import { xlsxFullBundle } from '@awacloud/ooxml/bundles/xlsx-full';
const runtime = new ModuleRuntime();
runtime.registerAll(fw_require); // the @awacloud/fw modules the package consumes
runtime.registerAll(modules);
runtime.registerAll(extras);
runtime.register(xlsxLargeBundle); // dependency of xlsxFullBundle
runtime.register(xlsxFullBundle);
const xl = runtime.resolve('xlsxFullBundle');
const bytes = new Uint8Array(/* … */);
const result = xl.read(bytes); // → { workbook, package, unmodelledParts }
// Form-control parts are reached through the extra's own helpers.
const controls = runtime.resolve('smlFormControls');
const parsed = controls.parseControls(controlsXmlText);
const out = xl.write(result.workbook);
Notes
- Comment text lives in the comments part, which the core reads and writes. The comment shapes live in a legacy VML drawing part that
read()does not load (it is listed inunmodelledParts) and thatwrite()generates anew from the comments model, so a source shape is not written back; thelegacyVmlextra parses and renders that VML when you need the shape itself. - Like
xlsx-large, none of the extras in this bundle declares ahydrate*walker hook, so the read result is not enriched automatically; resolve the extra and call its parse/render helpers on the part you need. xlsxLargeBundlemust be registered too — it is a declared dependency ofxlsxFullBundle.
Breaking change
The previous buildXlsxFull(xlsx, { xml }) imperative helper has been removed. Replace any call sites with the ModuleRuntime pattern shown above.