Popularity
8.6
Growing
Activity
7.7
Declining
2,603
228
418

Code Quality Rank: L1
Programming language: C#
License: GNU General Public License v3.0 or later
Tags: Office    
Latest version: v2.12.0

Open XML SDK alternatives and similar packages

Based on the "Office" category.
Alternatively, view Open XML SDK alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Open XML SDK or a related project?

Add another 'Office' Package

README

Open XML SDK

NuGet Downloads Build Status MyGet

The Open XML SDK provides tools for working with Office Word, Excel, and PowerPoint documents. It supports scenarios such as:

  • High-performance generation of word-processing documents, spreadsheets, and presentations.
  • Populating content in Word files from an XML data source.
  • Splitting up (shredding) a Word or PowerPoint file into multiple files, and combining multiple Word/PowerPoint files into a single file.
  • Extraction of data from Excel documents.
  • Searching and replacing content in Word/PowerPoint using regular expressions.
  • Updating cached data and embedded spreadsheets for charts in Word/PowerPoint.
  • Document modification, such as adding, updating, and removing content and metadata.

Table of Contents

Releases

The official release NuGet packages for Open XML SDK are available on Nuget.org.

The NuGet package for the latest builds of the Open XML SDK is available as a custom feed on MyGet. You can trust this package source, since the custom feed is locked and only this project feeds into the source. Stable releases here will be mirrored onto NuGet and will be identical.

For latests changes, please see the [changelog](CHANGELOG.md)

Package currently supports the following targets:

  • .NET 3.5
  • .NET 4.0
  • .NET 4.6
  • .NET Standard 1.3
  • .NET Standard 2.0.

If You Have Problems

If you want to report a problem (bug, behavior, build, distribution, feature request, etc...) with the SDK built by this repository, please feel free to post a new issue and someone will try to help.

If you have "how-to" questions please post to one of the following resources:

Known Issues

  • On .NET Core and .NET 5, zip packages do not have a way to stream data. Thus, the working set can explode in certain situations. This is a known issue.
  • On .NET Core, targeting .NET Framework 4.5+, and .NET 5, System.Uri will not parse invalid links. This causes an exception. A workaround in v2.12.0+ of OpenXml SDK is to use OpenSettings.RelationshipErrorRewriter to rewrite them to something that can be parsed. A discussion is available here to enable something more robust in System.IO.Packaging.
  • On .NET Framework, an IsolatedStorageException may be thrown under certain circumstances. This generally occurs when manipulating a large document in an environment with an AppDomain that does not have enough evidence. A sample with a workaround is available here.

Documentation

The functionality of the specific classes in this version of the Open XML SDK is similar to version 2.5, therefore the Open XML SDK 2.5 for Office documentation available on MSDN is still accurate.

In addition to open sourcing of the SDK, Microsoft has opened up the conceptual documentation for public review / contributions. A copy of the documentation is available for you to edit and review in GitHub.

  • Open XML Powertools: This provides example code and guidance for implementing a wide range of Open XML scenarios.
  • ClosedXml: This library provides a simplified object model on top of the OpenXml SDK for manipulating and creating Excel documents.
  • Serialize.OpenXml.CodeGen: This is a tool that converts an OpenXml document into the .NET code required to create it.
  • Html2OpenXml: This is a tool that takes HTML and converts it to an OpenXml document.
  • DocxToSource: This is a tool designed to be a replacement for the old OpenXML SDK Productivity Tool.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.