Pure-JS reader/writer for Office Open XML documents (.docx, .xlsx, .pptx). See the package README for the high-level pitch.
Guides
| Guide | Topic |
|---|---|
| Getting started | Install, the three core formats, ModuleRuntime registration, the .use() hook |
| Read+write docx | Walking paragraphs / runs / tables, docx-large and docx-full end-to-end |
| Read+write xlsx | Cells, sheet config, pivot tables, form controls |
| Read+write pptx | Slides, layouts, animations, transitions, advanced shapes |
| Extending | Write your own extra/ module: hooks + .use() + tests |
| Coverage | Coverage tiers + running extras opt-in |
| OPC overview | The OPC container model |
API reference
Top-level: see the API index. Per sub-domain:
- docx core (plus
docxWalkeranddocxText) - xlsx core (plus
xlsxWalker) - pptx core (plus
pptxWalker) - DrawingML
- Math (OMML)
- OPC container
- Markup Compatibility
- XML parser: consumed from
@awacloud/fw/io/codec/xml.js - Extras (opt-in modules) — the opt-in modules that promote elements from the
_extrasfallback to typed fields - Bundles —
docx-large,docx-full,xlsx-large,xlsx-full,pptx-large,pptx-full
Core module index
The modules registered in modules[] (src/main.js), topologically ordered.
| Module | Source | Role |
|---|---|---|
ooxmlErrors |
src/errors.js |
Typed error hierarchy (OoxmlError, ParseError, RenderError, ContractError). |
ooxmlShared |
src/_shared/index.js |
Namespaces, relationship types, content-types, EMU helpers. |
ooxmlMath |
src/math/math.js |
OMML — <m:oMath> + builders. |
markupCompatibility |
src/mc/markupCompatibility.js |
mc:AlternateContent / Ignorable / ProcessContent. |
opcContentTypes |
src/opc/contentTypes.js |
[Content_Types].xml. |
opcRelationships |
src/opc/relationships.js |
*.rels. |
opcPackage |
src/opc/package.js |
OPC container (ZIP + content-types + rels). |
drawingml |
src/drawingml/drawingml.js |
Shared DrawingML — typed text bodies + EMU helpers. |
drawingmlChart |
src/drawingml/chart.js |
<c:chartSpace>. |
drawingmlShape |
src/drawingml/shape.js |
Preset shape properties. |
docxProperties |
src/docx/properties.js |
rPr / pPr bags. |
docxDrawing |
src/docx/drawing.js |
<w:drawing> + media. |
docxStructure |
src/docx/structure.js |
runs / paragraphs / tables / sections. |
docxStyles |
src/docx/styles.js |
word/styles.xml. |
docxNumbering |
src/docx/numbering.js |
word/numbering.xml. |
docxSettings |
src/docx/settings.js |
word/settings.xml. |
docxComments |
src/docx/comments.js |
word/comments.xml. |
docxFootnotes |
src/docx/footnotes.js |
footnotes / endnotes. |
docxHeaders |
src/docx/headers.js |
headers / footers. |
docxCustomXml |
src/docx/customXml.js |
customXml / SDT binding. |
docxWalker |
src/docx/docx-walker.js |
.use() extension dispatch for docx. |
docxText |
src/docx/docx-text.js |
Flat text extraction helpers (toText). |
docx |
src/docx/docx.js |
docx orchestrator. |
xlsxStyles |
src/xlsx/styles.js |
xl/styles.xml. |
xlsxTables |
src/xlsx/tables.js |
xl/tables/. |
xlsxConditionalFormatting |
src/xlsx/conditionalFormatting.js |
CF rules. |
xlsxComments |
src/xlsx/comments.js |
comments + VML legacy. |
xlsxThreadedComments |
src/xlsx/threadedComments.js |
Office 2018+ threaded comments. |
xlsxDrawings |
src/xlsx/drawings.js |
charts + anchored images. |
xlsxWalker |
src/xlsx/xlsx-walker.js |
.use() extension dispatch for xlsx. |
xlsx |
src/xlsx/xlsx.js |
xlsx orchestrator. |
pptxTheme |
src/pptx/theme.js |
ppt/theme/. |
pptxPicture |
src/pptx/picture.js |
slide pictures. |
pptxTable |
src/pptx/table.js |
slide tables. |
pptxChart |
src/pptx/chart.js |
slide chart wrapper. |
pptxSlide |
src/pptx/slide.js |
slides / layouts / masters. |
pptxWalker |
src/pptx/pptx-walker.js |
.use() extension dispatch for pptx. |
pptx |
src/pptx/pptx.js |
pptx orchestrator. |
Project documents
See also
@awacloud/fw— runtime + zip + crc32 + codecs (mandatory dependency)- Doc format spec (fw) — page convention used here