ClosedXML 0.95.0
Prefix ReservedSee the version list below for details.
dotnet add package ClosedXML --version 0.95.0
NuGet\Install-Package ClosedXML -Version 0.95.0
<PackageReference Include="ClosedXML" Version="0.95.0" />
<PackageVersion Include="ClosedXML" Version="0.95.0" />
<PackageReference Include="ClosedXML" />
paket add ClosedXML --version 0.95.0
#r "nuget: ClosedXML, 0.95.0"
#:package ClosedXML@0.95.0
#addin nuget:?package=ClosedXML&version=0.95.0
#tool nuget:?package=ClosedXML&version=0.95.0
Breaking changes
- Range strings, e.g.
A1:B2are now always treated as absolute, i.e. relative toA1instead of relative to the top left cell of a given range. IXLSheetProtectionhas been totally refactored and now uses a flag based enum to control the elements that are allowed or locked.- Removed
IXLSheetProtection.IsProtectedsetter XLClearOptionsandXLCellUsedOptions's flags are now alignedIXLDataValidation.Rangesmade 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 | Versions 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. |
-
.NETFramework 4.0
- DocumentFormat.OpenXml (>= 2.7.2)
- ExcelNumberFormat (>= 1.0.10)
-
.NETFramework 4.6
- DocumentFormat.OpenXml (>= 2.7.2)
- ExcelNumberFormat (>= 1.0.10)
- Microsoft.CSharp (>= 4.7.0)
-
.NETStandard 2.0
- DocumentFormat.OpenXml (>= 2.7.2)
- ExcelNumberFormat (>= 1.0.10)
- Microsoft.CSharp (>= 4.7.0)
- System.Drawing.Common (>= 4.5.0)
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 |