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.
-
NPOI
a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop. -
EPPlus
EPPlus is a .net library that reads and writes Excel 2007/2010 files using the Open Office Xml format (xlsx). -
ExcelDataReader
Lightweight and fast library written in C# for reading Microsoft Excel files -
ClosedXML
ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API. -
DocX
Fast and easy to use .NET library that creates or modifies Microsoft Word files without installing Word. -
MiniExcel
Fast, Low-Memory, Easy Excel .NET helper to import/export/template spreadsheet -
ExcelDna
Excel-DNA - Free and easy .NET for Excel. This repository contains the core Excel-DNA library. -
NetOffice
๐ Create add-ins and automation code for Microsoft Office applications. -
Report-From-DocX-HTML-To-PDF-Converter
.NET Core library to create custom reports based on Word docx or HTML documents and convert to PDF -
ShapeCrawler
๐ A .NET library for manipulating PowerPoint presentations -
BookFx
Composing Excel spreadsheets based on a tree of nested components like the HTML DOM. -
ExcelDna-Unpack
Command-line utility to extract the contents of Excel-DNA add-ins packed with ExcelDnaPack -
Outlook Redemption
Library to work with the Outlook Object Model and (Extended) MAPI. Supports Outlook 98 -
GemBox.Bundle
A package of .NET components that enable fast, simple and efficient processing of office files (Excel, Word, PowerPoint, PDF and emails). [$]****[Free Lite versions]
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Open XML SDK or a related project?
README
<!-- omit in toc -->
Open XML SDK
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.
- Document modification, such as adding, updating, and removing content and metadata.
- Search and replace content using regular expressions.
- Splitting up (shredding) a file into multiple files, and combining multiple files into a single file.
- Updating cached data and embedded spreadsheets for charts in Word/PowerPoint.
<!-- omit in toc -->
Table of Contents
Packages
The official release NuGet packages for Open XML SDK are on NuGet.org:
Package | Download |
---|---|
DocumentFormat.OpenXml | |
DocumentFormat.OpenXml.Linq | |
DocumentFormat.OpenXml.Features |
Daily Builds
The NuGet package for the latest builds of the Open XML SDK is available as a custom feed on an Azure blob. Stable releases here will be mirrored onto NuGet and will be identical. You must set up a NuGet.config file that looks similar to this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="OpenXmlCI" value="https://openxmlsdk.blob.core.windows.net/feed/index.json" />
</packageSources>
</configuration>
For latests changes, please see the [changelog](CHANGELOG.md)
Framework Support
The package currently supports the following frameworks:
- .NET Framework 3.5+
- .NET Standard 1.3+
- .NET Core 1.0+
- .NET 5+
- Mono 4.6+
- Xamarin.iOS 10.0+
- Xamarin.Mac 3.0+
- Xamarin.Android 7.0+
- UWP 10.0+
- Unity 2018.1+
For details on platform support, please see the docs at https://docs.microsoft.com/en-us/dotnet/standard/net-standard.
- Microsoft Q&A Forums (tag: office-addins-dev)
- Stack Overflow (tags: openxml or openxml-sdk)
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 useOpenSettings.RelationshipErrorRewriter
to rewrite them to something that can be parsed. A discussion is available here to enable something more robust inSystem.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.
Related tools
- Open XML SDK 2.5 Productivity Tool: The Productivity Tool provides viewing and code generation compatible with the Open XML SDK 2.5.
- 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.
- OfficeIMO: This library provides a simplified object model on top of the OpenXml SDK manipulating and creating Word 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.
- OOXML Viewer: This is an extension for Visual Studio Code to View and Edit the xml parts of an Office Open XML file and to view a diff with the previous version of an OOXML part when saved from an outside program. Search "OOXML" in the VS Code extensions tab or download it from the VS Code Marketplace
- ShapeCrawler: This library provides a simplified object model on top of the OpenXml SDK to manipulate PowerPoint documents.
- OOXML Validator: VS Code extension to validate Office Open XML files. Search "OOXML" in the VS Code extensions tab or download it from the VS Code Marketplace
How can I contribute?
We welcome contributions! Many people all over the world have helped make this project better.
- [Contributing](./CONTRIBUTING.md) explains what kinds of contributions we welcome
Reporting security issues and security bugs
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.
.NET Foundation
The Open XML SDK is a .NET Foundation project.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.
License
The Open XML SDK is licensed under the [MIT](./LICENSE) license.
*Note that all licence references and agreements mentioned in the Open XML SDK README section above
are relevant to that project's source code only.