Per-module reference, organised by sub-domain. Mirrors src/.

Core

Module Source Description
ooxmlErrors src/errors.js Typed error hierarchy + stable code catalog.
ooxmlShared src/_shared/index.js Namespaces, relationship types, EMU helpers, colour codecs.

The XML parser is consumed from @awacloud/fw/io/codec/xml.js; the ZIP container from @awacloud/fw/io/compress/zip.js.

OPC — Open Packaging Conventions

The ZIP container shared by the three formats (ECMA-376 part 2).

Module Source Description
opcPackage src/opc/package.js Read/write an OPC package (ZIP + parts + rels).
opcContentTypes src/opc/contentTypes.js [Content_Types].xml — MIME registry.
opcRelationships src/opc/relationships.js .rels files — typed link graph.

Markup Compatibility

Module Source Description
markupCompatibility src/mc/markupCompatibility.js Resolves mc:AlternateContent / mc:Ignorable (ECMA-376 part 3).

Math (OMML)

Module Source Description
ooxmlMath src/math/math.js Office Math Markup Language — typed model + builders.

DrawingML

Shared graphics (ECMA-376 part 1 §20).

Module Source Description
drawingml src/drawingml/drawingml.js Typed text bodies + EMU helpers.
drawingmlChart src/drawingml/chart.js <c:chartSpace> — read/write of a chart part.
drawingmlShape src/drawingml/shape.js <a:prstGeom>, <a:xfrm>, fills, lines.

docx — WordprocessingML

Module Source Description
docx src/docx/docx.js Top-level orchestrator: read/write .docx.
docxProperties src/docx/properties.js Typed run/paragraph properties.
docxStructure src/docx/structure.js Runs, paragraphs, tables, sections, SDTs.
docxStyles src/docx/styles.js word/styles.xml part.
docxNumbering src/docx/numbering.js Lists — abstract + concrete numberings.
docxSettings src/docx/settings.js word/settings.xml part.
docxComments src/docx/comments.js word/comments.xml part.
docxFootnotes src/docx/footnotes.js Footnotes + endnotes (shared model).
docxHeaders src/docx/headers.js Headers/footers (header*.xml / footer*.xml parts).
docxDrawing src/docx/drawing.js <w:drawing> — inline images, charts, shapes.
docxCustomXml src/docx/customXml.js Custom XML data parts + props.
docxWalker src/docx/docx-walker.js .use(...) registry and hydrate* / dehydrate* hook dispatch.
docxText src/docx/docx-text.js Plain-text extraction (toText).
templating src/docx/docx.js SDT / content-control templating helpers (cross-cutting).

xlsx — SpreadsheetML

Module Source Description
xlsx src/xlsx/xlsx.js Top-level orchestrator: read/write .xlsx.
xlsxStyles src/xlsx/styles.js xl/styles.xml part — indexed registries.
xlsxTables src/xlsx/tables.js Excel tables (header/totals/style).
xlsxConditionalFormatting src/xlsx/conditionalFormatting.js <conditionalFormatting> blocks.
xlsxComments src/xlsx/comments.js Legacy comments + VML drawing.
xlsxThreadedComments src/xlsx/threadedComments.js Threaded comments, Office 2018+.
xlsxDrawings src/xlsx/drawings.js Drawing parts — image/chart/shape anchors.
xlsxWalker src/xlsx/xlsx-walker.js .use(...) registry and hydrate* / dehydrate* hook dispatch.

pptx — PresentationML

Module Source Description
pptx src/pptx/pptx.js Top-level orchestrator: read/write .pptx.
pptxTheme src/pptx/theme.js Theme — clrScheme + fontScheme + fmtScheme.
pptxSlide src/pptx/slide.js Slide / layout / master shape model.
pptxPicture src/pptx/picture.js <p:pic> — slide-level pictures.
pptxTable src/pptx/table.js Slide tables via <p:graphicFrame>.
pptxChart src/pptx/chart.js Slide-level chart wrapper.
pptxWalker src/pptx/pptx-walker.js .use(...) registry and hydrate* / dehydrate* hook dispatch.

Extras and bundles

  • extra/ — the opt-in modules (typed per-schema modules + *-misc sweepers), exported as extras from @awacloud/ooxml.
  • bundles/ — pre-wired collections (docxLargeBundle, docxFullBundle, xlsxLargeBundle, xlsxFullBundle, pptxLargeBundle, pptxFullBundle), exported as bundle.

Typical usage pattern

const docx = runtime.resolve('docx');
const r = docx.read(bytes);
const out = docx.write(r.document, { styles: r.styles });

To plug in extra typing modules (advanced run formatting, pivot tables, animations, …), use the .use(...) hook exposed by docx / xlsx / pptx. See the bundles guide for the ergonomic compositions.

See also