Pre-wired bundle: xlsx core + P0 + P1 extras (~95% real-world xlsx coverage).

Module xlsxLargeBundle | Source packages/front/office/ooxml/src/bundles/xlsx-large.js | Deps xlsx + 11 extras | Worker-safe yes

Included

Resolve

const xl = runtime.resolve('xlsxLargeBundle');
// Returns the enriched `xlsx` instance — same shape as resolving 'xlsx'.

API

Pure fw factory descriptor — register it and its dependencies in a ModuleRuntime, then resolve 'xlsxLargeBundle'.

Resolve key Returns Dependencies (auto-wired)
'xlsxLargeBundle' enriched xlsx API (same shape as xlsx) xlsx, plus every extra listed under Included

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';

const runtime = new ModuleRuntime();
runtime.registerAll(fw_require);   // the @awacloud/fw modules the package consumes
runtime.registerAll(modules);
runtime.registerAll(extras);
runtime.register(xlsxLargeBundle);

const xl     = runtime.resolve('xlsxLargeBundle');
const bytes  = new Uint8Array(/* … */);
const result = xl.read(bytes);   // → { workbook, package, unmodelledParts }

// The typed workbook lives under `result.workbook`; each sheet's `rows`
// is an array of rows, each row an array of cells.
console.log(result.workbook.sheets[0].rows[0][0]);
// → { type: 'cell', value: 'Region', t: 's' }

// Mutate cells (core API) and write back — `write` takes the WORKBOOK.
result.workbook.sheets[0].rows[0][0] = { type: 'cell', value: 'Updated' };
const out = xl.write(result.workbook);

Reach the extra typing helpers through the runtime and apply them to the raw parts you care about:

const pivots = runtime.resolve('smlPivotTables');
const def    = pivots.parsePivotTable(pivotTableXmlText);

Notes

  • xlsx.read(bytes, readOpts?) returns { workbook, package, unmodelledParts } and xlsx.write(workbook) takes the workbook — there is no second options argument on the xlsx writer.
  • The SpreadsheetML and chart extras in this bundle expose parse/render helpers only; none of them declares a hydrateWorkbook / hydrateSheet / hydrateSettings hook, so xlsxWalker does not enrich the read result automatically. Resolve the extra and call its helpers on the relevant part.
  • Pivot-table parts are reached through their own relationships — see smlPivotTables for the data shape.
  • For ActiveX form controls and advanced shapes use xlsx-full.

Breaking change

The previous buildXlsxLarge(xlsx, { xml }) imperative helper has been removed. Replace any call sites with the ModuleRuntime pattern shown above.

See also