Description
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.
ClosedXML alternatives and similar packages
Based on the "Office" category.
Alternatively, view ClosedXML 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 -
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]
Static code analysis for 29 languages.
* 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 ClosedXML or a related project?
README
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.
For more information see the wiki
Install ClosedXML via NuGet
If you want to include ClosedXML in your project, you can install it directly from NuGet
To install ClosedXML, run the following command in the Package Manager Console
PM> Install-Package ClosedXML
What can you do with this?
ClosedXML allows you to create Excel files without the Excel application. The typical example is creating Excel reports on a web server.
Example:
using (var workbook = new XLWorkbook())
{
var worksheet = workbook.Worksheets.Add("Sample Sheet");
worksheet.Cell("A1").Value = "Hello World!";
worksheet.Cell("A2").FormulaA1 = "=MID(A1, 7, 5)";
workbook.SaveAs("HelloWorld.xlsx");
}
Frequent answers
- ClosedXML is not thread-safe. There is no guarantee that parallel operations will work. The underlying OpenXML library is also not thread-safe.
- If you get an exception
The type initializer for 'Gdip' threw an exception.
on Linux, try these solutions.
Extensions
Be sure to check out our ClosedXML
extension projects
- https://github.com/ClosedXML/ClosedXML.Report
- https://github.com/ClosedXML/ClosedXML.Extensions.AspNet
- https://github.com/ClosedXML/ClosedXML.Extensions.Mvc
- https://github.com/ClosedXML/ClosedXML.Extensions.WebApi
Developer guidelines
The OpenXML specification is a large and complicated beast. In order for ClosedXML, the wrapper around OpenXML, to support all the features, we rely on community contributions. Before opening an issue to request a new feature, we'd like to urge you to try to implement it yourself and log a pull request.
Please read the [full developer guidelines](CONTRIBUTING.md).
Credits
- Project originally created by Manuel de Leon
- Current maintainer: Jan Havlíček
- Former maintainer and lead developer: Francois Botha
- Master of Computing Patterns: Aleksei Pankratev
- Logo design by @Tobaloidee