# dotnet/open-xml-sdk

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dotnet-open-xml-sdk).**

4,537 stars · 598 forks · C# · MIT

## Links

- GitHub: https://github.com/dotnet/Open-XML-SDK
- Homepage: https://www.nuget.org/packages/DocumentFormat.OpenXml/ 
- awesome-repositories: https://awesome-repositories.com/repository/dotnet-open-xml-sdk.md

## Topics

`docx` `office` `openxml-format` `pptx`

## Description

Open-XML-SDK is a library for programmatically creating, modifying, and validating Office documents based on the Open XML standard. It functions as an office file generator and XML document parser, enabling the manipulation of word processing, spreadsheet, and presentation files.

The library allows for the generation and updating of document content and structure without requiring the native office applications to be installed. It utilizes strongly typed classes and a schema-validated approach to ensure that created files remain compatible and correctly structured.

The project provides capabilities for structural validation against official schemas, the embedding of multimedia content such as video, and the management of document parts and relationships. It supports both in-memory tree manipulation and stream-based parsing for processing document data.

## Tags

### Business & Productivity Software

- [Office Document Generation](https://awesome-repositories.com/f/business-productivity-software/office-document-generation.md) — Programmatically generates Word, Excel, and PowerPoint files from scratch using the Open XML standard.
- [Schema-Validated Creation](https://awesome-repositories.com/f/business-productivity-software/office-document-generation/schema-validated-creation.md) — Provides strongly typed classes and schema validation to ensure generated Office files are compatible and correctly structured. ([source](https://github.com/dotnet/Open-XML-SDK/blob/main/CHANGELOG.md))
- [Open XML Libraries](https://awesome-repositories.com/f/business-productivity-software/open-xml-libraries.md) — Provides programmatic interfaces for creating, modifying, and validating documents using the Open XML standard.

### Part of an Awesome List

- [Office Document Manipulation](https://awesome-repositories.com/f/awesome-lists/media/office-document-manipulation.md) — Updates content and modifies the structure of existing Office files by interacting with their underlying XML.
- [XML Parsing](https://awesome-repositories.com/f/awesome-lists/data/html-and-xml-parsing/xml-parsing.md) — Processes XML data with specific options for whitespace management and line information retrieval. ([source](https://github.com/dotnet/Open-XML-SDK/blob/main/CHANGELOG.md))
- [Stream-Based Parsing](https://awesome-repositories.com/f/awesome-lists/data/html-and-xml-parsing/xml-parsing/stream-based-parsing.md) — Processes large Office files using event-driven streaming to minimize memory consumption.

### Content Management & Publishing

- [Office Document Libraries](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing-tools/format-conversion-toolkits/office-document-libraries.md) — Updates the content and structure of existing office files without requiring native office applications. ([source](https://github.com/dotnet/Open-XML-SDK/blob/main/README.md))
- [Document Part Management](https://awesome-repositories.com/f/content-management-publishing/document-part-management.md) — Manages the retrieval and creation of individual document parts and relationships using custom MIME types and URIs. ([source](https://github.com/dotnet/Open-XML-SDK/blob/main/CHANGELOG.md))

### Data & Databases

- [XML Schema Mappings](https://awesome-repositories.com/f/data-databases/entity-modeling/typed-schema-mappings/xml-schema-mappings.md) — Maps XML schema definitions to a strongly-typed class hierarchy for type-safe document manipulation.
- [XML Tree Manipulation](https://awesome-repositories.com/f/data-databases/xml-tree-manipulation.md) — Provides programmatic modification of the document structure through an in-memory XML tree.

### Programming Languages & Runtimes

- [XML and HTML Document Parsers](https://awesome-repositories.com/f/programming-languages-runtimes/string-parsing/xml-and-html-document-parsers.md) — Parses the underlying XML structure of Office documents into in-memory trees for manipulation.

### Web Development

- [XML Schema Validations](https://awesome-repositories.com/f/web-development/schema-validation/xml-schema-validations.md) — Verifies the structural integrity of Office documents against official XSD schemas to ensure compatibility.

### Software Engineering & Architecture

- [Package Relationship Models](https://awesome-repositories.com/f/software-engineering-architecture/package-relationship-models.md) — Implements a relational mapping system to manage individual document components linked within a compressed archive.

### Testing & Quality Assurance

- [Document Compatibility Validation](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/compatibility-suites/compatibility-validation-tools/document-compatibility-validation.md) — Checks document structure and encoding against official schemas to ensure consistent rendering and compatibility. ([source](https://github.com/dotnet/Open-XML-SDK/blob/main/CHANGELOG.md))
