ClosedXML 0.95.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package ClosedXML --version 0.95.0
                    
NuGet\Install-Package ClosedXML -Version 0.95.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ClosedXML" Version="0.95.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ClosedXML" Version="0.95.0" />
                    
Directory.Packages.props
<PackageReference Include="ClosedXML" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ClosedXML --version 0.95.0
                    
#r "nuget: ClosedXML, 0.95.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ClosedXML@0.95.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ClosedXML&version=0.95.0
                    
Install as a Cake Addin
#tool nuget:?package=ClosedXML&version=0.95.0
                    
Install as a Cake Tool

Breaking changes

  • Range strings, e.g. A1:B2 are now always treated as absolute, i.e. relative to A1 instead of relative to the top left cell of a given range.
  • IXLSheetProtection has been totally refactored and now uses a flag based enum to control the elements that are allowed or locked.
  • Removed IXLSheetProtection.IsProtected setter
  • XLClearOptions and XLCellUsedOptions 's flags are now aligned
  • IXLDataValidation.Ranges made readonly
  • To add or remove ranges from the data validation rule the user must use dedicated methods (AddRange, AddRanges, ClearRanges, RemoveRange)
  • A single data validation rule cannot apply to ranges from different worksheets (it was a bug that this was possible)

Pull requests merged since 0.95.0-beta2

Bug fixes

#1063 Copy comment style correctly when shifting ranges #1108 Correctly save empty cell with quote prefix (do not treat as empty) #1125 Change cached value type when data type changes #1132 <c> elements with missing r attribute: XLAddress constructor had parameters swapped #1133 Enumerate ranges in a deterministic order #1134 Correctly propagate worksheet style to cells from a worksheet #1135 Correctly load column-wide styles #1137 Fix changing inner borders of the range #1150 Correctly clear inline string when required #1153 Correctly throw DivisionByZeroException when denominator is zero. #1155 Ignore _X (capital X) as XML escaping char #1161 Avoid creation of new item in Internals.RowsCollection when adding comment #1168 Fix initialization of default styles for XLCells, XLRows, XLColumns and XLRanges #1172 Clear all RelId's if workbook is loaded from template. #1178 Fixes in GetHashCode functions (1073) #1196 Fix error by two pivot with one source #1195 #1223 Fix pivot subtotals loading #1227 Refactor comments #1234 Merged ranges cell values should not be set, except for top left cell of merged range #1245 Fix the issue with conditional formats created in non-US culture (#1187) #1247 Fix issues related to cells inserting (1236) #1266 Fix CONCATENATE for cell references #1282 Treat missing numberFormatId as General numberformat #1289 Remove unused code and fix ATAN2 tests #1292 Redefine rules for sheet name escaping (#1287) #1307 Fix null exception when saving a file #1316 Fix exception when loading rows with no row index populated (#1314) #1323 #651: fix loading with deleted worksheets. #1351 Fix null DateTime in XLCell.InsertDataInternal with IEnumerable #1356 Fix a regular expression used for extracting A1 references #1359 Fixed the Expression double conversion operator to handle string values #1362 Set longText attribute for string items in pivot table #1369 Fix issues with loading comments (#1244) #1384 When saving, mark the first selected tab as active if no active tabs exist (#1383) #1386 Set the first sheet active and visible on loading if no active tab is specified in file (#1383)

Enhancments

#1015 Feature/#1010 text join func #1038 IXLSheetProtection refactoring #1054 Implement workbook FileSharing and a few of the properties #1058 Dont recalculate formula cached values after load #1077 Refactor digit and letter parsing to allow Unicode characters #1109 Don't automatically adjust columns width to contents when inserting datatable. Some users want to opt out because of PlatformNotSupportedException #1122 Add helper methods to add worksheet with default sheet name #1129 Alternative implementation of pivot table formats #1130 Enhance TRUNC function for additional parameter #1136 Implement NUMBERVALUE function #1151 Performance improvement to delete entire columns #1158 Check that print titles are valid row ranges or column ranges #1166 Ignore default Excel function namespace and implement CONCAT function #1169 Avoid creating new XLCell instances during range shifting #1170 Remove IXLSheetProtection.IsProtected public setter #1174 Correctly dispose temporary memorystream #1175 Sparklines implementation #1183 Improve Merge operation performance #1194 Fix for issue 1192 #1205 Improve performance of worksheet copying (1188) #1208 optional range consolidation via save options #1219 Implement MATCH and INDEX functions #1224 Improve performance of loading workbooks having many merged ranges (#1220) #1227 Refactor comments #1232 Set versioning number to allow enhanced pivot table features #1237 Improve HLOOKUP and VLOOKUP performance #1240 Prevent copying of deleted worksheets. #1253 Replace licenseUrl (deprecated) with license tag #1278 Clear CellsCollection on WorksheetInternals disposal (#1276) #1284 Improvements for workbook saving (#1280) #1293 Remove the unnecessary check for VML elements not existing (#1285) #1326 Issue 1325: PopulateAutoFilter range check #1353 Implement % operator and correctly parse expressions with multiple unary operators (--, ++) #1357 Replace String.Compare with TryGetValue #1364 Fix issues occurred when running tests on .Net Core 3.0 #1368 Clear inlined rich text data on saving (#1361) #1376 CEILING and FLOOR fixes #1379 Explicitly set document type on saving (#1375) #1381 Exclude dependent SUBTOTAL formulas in SUBTOTAL evaluation #1388 Remove the dependency on FastMember. Improve performance of InsertData (#797) #1391 Replace ContainsKey with TryGetValue

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (558)

Showing the top 5 NuGet packages that depend on ClosedXML:

Package Downloads
ClosedXML.Report

ClosedXML.Report is a tool for report generation and data analysis in .NET applications through the use of Microsoft Excel. ClosedXML.Report is a .NET-library for report generation Microsoft Excel without requiring Excel to be installed on the machine that's running the code.

CsvHelper.Excel.Core

An implementation of ICsvParser and ICsvSerializer from CsvHelper that reads and writes using the ClosedXml library.

OO.Data

Data Entity base types and declarations for EasyDataCore infrastructure

ClosedXML.Extensions.Mvc

MVC extensions for ClosedXML

Microsoft.KernelMemory.Core

The package contains the core logic and abstractions of Kernel Memory, not including extensions.

GitHub repositories (43)

Showing the top 20 popular GitHub repositories that depend on ClosedXML:

Repository Stars
nopSolutions/nopCommerce
ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
mini-software/MiniExcel
Fast, Low-Memory, Easy Excel .NET helper to import/export/template spreadsheet (support Linux, Mac)
open-rpa/openrpa
Free Open Source Enterprise Grade RPA
serenity-is/Serenity
Business Apps Made Simple with Asp.Net Core MVC / TypeScript
YarnSpinnerTool/YarnSpinner
Yarn Spinner is a tool for building interactive dialogue in games!
phongnguyend/Practical.CleanArchitecture
Full-stack .Net 10 Clean Architecture (Microservices, Modular Monolith, Monolith), Blazor, Angular 21, React 19, Vue 3.5, BFF with YARP, NextJs 16, Domain-Driven Design, CQRS, SOLID, Asp.Net Core Identity Custom Storage, OpenID Connect, EF Core, OpenTelemetry, SignalR, Background Services, Health Checks, Rate Limiting, Clouds (Azure, AWS, GCP), ...
microsoft/kernel-memory
Research project. A Memory solution for users, teams, and applications.
Yu-Core/SwashbucklerDiary
侠客日记是一个开源、跨平台的本地日记app,使用Blazor开发,支持Android,Windows,macOS,Web,Linux。"SwashbucklerDiary" is an open source cross-platform local diary app using Blazor , support Android,Windows,macOS,Web,Linux.
abpframework/abp-samples
Sample solutions built with the ABP Framework
neozhu/CleanArchitectureWithBlazorServer
This repository is designed to create an enterprise Blazor Server application that follows the principles of Clean Architecture and implements Blazor Clean Architecture best practices for scalability, maintainability, and testability.
UiPath/CoreWF
WF runtime ported to work on .NET 6
VladislavAntonyuk/MauiSamples
.NET MAUI Samples
mixcore/mix.core
🚀 A future-proof enterprise web CMS supporting both headless and decoupled approaches. Build any type of app with customizable APIs on ASP.NET Core/.NET Core. Completely open-source and designed for flexibility.
DotNetNext/WebFirst
.NET CORE 代码生成器 ,Web中使用CodeFirst模式, 实体 生成器,UI代码 生成器,在线建表,PostgresSql生成器,达梦生成器,金仓生成器MySql生成器,SQLServere生成器、Oracle生成器、Sqlite生成器、导出文档,模版配置, WEB代码生成器 ,API代码生成器
Implem/Implem.Pleasanter
Pleasanter is a no-code/low-code development platform that runs on .NET. You can quickly create business applications with simple operations.
sveinungf/spreadcheetah
SpreadCheetah is a high-performance .NET library for generating spreadsheet (Microsoft Excel XLSX) files.
ClosedXML/ClosedXML.Report
ClosedXML.Report is a tool for report generation with which you can easily export any data from your .NET classes to Excel using a XLSX-template.
TabBlazor/TabBlazor
Blazor admin template based on Tabler UI
ShapeCrawler/ShapeCrawler
PowerPoint .NET library for reading, modifying, and generating PPTX presentations without Microsoft Office
neozhu/visitormanagement
helps in managing visitors visiting the institutions for various reasons. It allows visitors to check-in digitally to eliminate the tedious registeration and other paperwork. Additionally, it also keeps a track of every individual inside the campus and their timings. Institutions has guards who enter their detail in some notebooks to keep a log which are practically impossible to reconcile. It is really unpleasent and hectic for visitor to stand at the gate and give details about the visit. To ease the process of registeration, Entry-In, Entry-Out, time tracking and logging the history, this VMS can be of great use!!
Version Downloads Last Updated
0.105.0 12,473,015 5/14/2025
0.105.0-rc 421,240 1/22/2025
0.104.2 17,726,842 11/15/2024
0.104.1 4,519,966 9/30/2024
0.104.0-rc1 80,761 9/17/2024
0.104.0-preview2 500,782 10/26/2023
0.103.0-beta 42,771 9/28/2023
0.102.3 5,038,608 7/18/2024
0.102.2 14,423,924 1/5/2024
0.102.1 7,061,779 8/18/2023
0.102.0 2,690,754 6/24/2023
0.102.0-rc 9,324 6/18/2023
0.101.0 3,824,226 4/9/2023
0.101.0-rc 5,502 4/1/2023
0.100.3 5,088,017 1/12/2023
0.100.2 105,974 1/10/2023
0.100.1 98,142 1/9/2023
0.95.0 1,509,041 4/15/2020
Loading failed