ClosedXML 0.94.0

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.

There is a newer version of this package available.
See the version list below for details.
Install-Package ClosedXML -Version 0.94.0
dotnet add package ClosedXML --version 0.94.0
<PackageReference Include="ClosedXML" Version="0.94.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ClosedXML --version 0.94.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ClosedXML, 0.94.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install ClosedXML as a Cake Addin
#addin nuget:?package=ClosedXML&version=0.94.0

// Install ClosedXML as a Cake Tool
#tool nuget:?package=ClosedXML&version=0.94.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Breaking changes

  • This package now depends on FastMember instead of FastMember.Signed.
  • IDisposable interface removed from IXLWorksheet. See #1049
  • IXLPictures interface has changed to accept parameters of type IXLCell instead of IXLAddress. See #930
  • IXLBaseAutoFilter removed and replaced with the existing IXLAutoFilter. See #909
  • IXLRange.ToString() and IXLRangeAddress.ToString() now return context aware range strings. See #1021

Enhancements

  • #856 Clear pivot table rendered range upon loading to avoid conflict on rendered cells when opening the file.
  • #877 Add helper property VisibleRows for autofilters
  • #884 Allow pivot tables to have no theme
  • #904 Implement the full range of Item subclasses for pivot tables
  • #905 Don't choke on pivot table saving when formulas fail
  • #908 New methods to append and replace table data
  • #909 New method to reapply autofilter
  • #926 Disallow table with null .DataRange when saving
  • #930 Store picture markers against a range to allow shifting when inserting and deleting
  • #932 Optionally propagate extra table columns when changing data
  • #945 Allow Guid values to be inserted when dumping data
  • #962 Add ability to set cell value to an enum value
  • #978 Add table helper methods: IXLTables.TryGetTable()
  • #996 Allow table field names consisting of only whitespace
  • #999 Allow names to start with backslash
  • #1005 Ignore print areas that point to external workbooks
  • #1019 Improve XLCell.TryGetValue and implement additional tests
  • #1021 Return simpler range address values
  • #1025 Lazy initialize graphics
  • #1033 Optimize the performance of searching range intersections on small collections
  • #1035 Improve implicit string casting
  • #1036 Don't validate named ranges when loading file
  • #1044 Add check that data validation value length does not exceed 255 chars
  • #1064 Make TryGetValue_decimal_Good2test environment-independent

Bug fixes

  • #876 Correctly unprotect worksheet without password
  • #887 Correctly determine used range when there are merged ranges on a worksheet
  • #903 Clear all cell contents (formats too) in pivot table range upon loading.
  • #906 Maintain pivot table page field order
  • #931 Delete table rows correctly
  • #947 Fix pivot table integrity when saving multiple times
  • #956 Do not quote worksheet name with whitespace when saving pivot table worksheet source
  • #969 Fix ranges consolidation
  • #985 Set XLPivotField.ShowBlankItems by default to false and fix treatment of defaults from loading file
  • #988 FIX for XLConditionalFormat equality comparer fails for ColorScale
  • #998 Copies of tables should have RelId default to null
  • #1023 Sort ranges to shift before enumerating through them to avoid new target address conflicting with existing range
  • #1028 Copy row/column visibility setting
  • #1029 CellsUsed refactoring and fix
  • #1031 Fix for merging cells
  • #1032 Change the way invalid ranges are saved
  • #1041 Autofilter with multiple columns with filters
  • #1047 String comparisons should be case-insensitive
  • #1048 Shift data validation ranges when inserting / delete ranges

Breaking changes

  • This package now depends on FastMember instead of FastMember.Signed.
  • IDisposable interface removed from IXLWorksheet. See #1049
  • IXLPictures interface has changed to accept parameters of type IXLCell instead of IXLAddress. See #930
  • IXLBaseAutoFilter removed and replaced with the existing IXLAutoFilter. See #909
  • IXLRange.ToString() and IXLRangeAddress.ToString() now return context aware range strings. See #1021

Enhancements

  • #856 Clear pivot table rendered range upon loading to avoid conflict on rendered cells when opening the file.
  • #877 Add helper property VisibleRows for autofilters
  • #884 Allow pivot tables to have no theme
  • #904 Implement the full range of Item subclasses for pivot tables
  • #905 Don't choke on pivot table saving when formulas fail
  • #908 New methods to append and replace table data
  • #909 New method to reapply autofilter
  • #926 Disallow table with null .DataRange when saving
  • #930 Store picture markers against a range to allow shifting when inserting and deleting
  • #932 Optionally propagate extra table columns when changing data
  • #945 Allow Guid values to be inserted when dumping data
  • #962 Add ability to set cell value to an enum value
  • #978 Add table helper methods: IXLTables.TryGetTable()
  • #996 Allow table field names consisting of only whitespace
  • #999 Allow names to start with backslash
  • #1005 Ignore print areas that point to external workbooks
  • #1019 Improve XLCell.TryGetValue and implement additional tests
  • #1021 Return simpler range address values
  • #1025 Lazy initialize graphics
  • #1033 Optimize the performance of searching range intersections on small collections
  • #1035 Improve implicit string casting
  • #1036 Don't validate named ranges when loading file
  • #1044 Add check that data validation value length does not exceed 255 chars
  • #1064 Make TryGetValue_decimal_Good2test environment-independent

Bug fixes

  • #876 Correctly unprotect worksheet without password
  • #887 Correctly determine used range when there are merged ranges on a worksheet
  • #903 Clear all cell contents (formats too) in pivot table range upon loading.
  • #906 Maintain pivot table page field order
  • #931 Delete table rows correctly
  • #947 Fix pivot table integrity when saving multiple times
  • #956 Do not quote worksheet name with whitespace when saving pivot table worksheet source
  • #969 Fix ranges consolidation
  • #985 Set XLPivotField.ShowBlankItems by default to false and fix treatment of defaults from loading file
  • #988 FIX for XLConditionalFormat equality comparer fails for ColorScale
  • #998 Copies of tables should have RelId default to null
  • #1023 Sort ranges to shift before enumerating through them to avoid new target address conflicting with existing range
  • #1028 Copy row/column visibility setting
  • #1029 CellsUsed refactoring and fix
  • #1031 Fix for merging cells
  • #1032 Change the way invalid ranges are saved
  • #1041 Autofilter with multiple columns with filters
  • #1047 String comparisons should be case-insensitive
  • #1048 Shift data validation ranges when inserting / delete ranges

Release Notes

See https://github.com/ClosedXML/ClosedXML/releases/tag/0.94.0

NuGet packages (130)

Showing the top 5 NuGet packages that depend on ClosedXML:

Package Downloads
CsvHelper.Excel
An implementation of ICsvParser and ICsvSerializer from CsvHelper that reads and writes using the ClosedXml library.
Ewl
The Enterprise Web Library (EWL), and its tailored infrastructure platform, are a complete and open solution for developing and operating web-based enterprise software.
DoddleReport.OpenXml
Adds OpenXML support to DoddleReport. The currently supported format is Excel and is more robust than the default ExcelReportWriter in DoddleReport.
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.
ClosedXML.Extensions.Mvc
MVC extensions for ClosedXML

GitHub repositories (10)

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

Repository Stars
open-rpa/openrpa
Free Open Source Enterprise Grade RPA
Implem/Implem.Pleasanter
Pleasanter | Business application platform
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.
nhmkdev/cardmaker
An application that generates graphics via data sources.
shps951023/MiniExcel
A high performance and easy Excel(xlsx,csv) Micro-Helper that avoids OOM and without third party dependencies to create or dynamic/type POCO mapping query etc..

Version History

Version Downloads Last updated
0.95.4 477,429 12/16/2020
0.95.3 1,485,372 5/25/2020
0.95.2 218,706 4/26/2020
0.95.1 28,455 4/23/2020
0.95.0 88,230 4/15/2020
0.95.0-beta2 50,233 8/21/2019
0.95.0-beta1 22,828 4/4/2019
0.94.2 2,682,991 12/18/2018
0.94.0 33,990 12/12/2018
0.94.0-rc2 4,051 11/29/2018
0.94.0-rc1 5,290 11/11/2018
0.93.1 569,947 8/7/2018
0.93.0 191,958 6/25/2018
0.93.0-rc3 6,696 6/7/2018
0.93.0-rc2 2,427 5/31/2018
0.93.0-beta4 3,411 5/14/2018
0.93.0-beta2 3,848 4/26/2018
0.93.0-beta1 1,727 4/19/2018
0.92.1 356,618 4/10/2018
0.92.0-beta1 3,705 3/22/2018
0.91.1 24,917 4/4/2018
0.91.0 178,587 1/31/2018
0.91.0-beta3 2,018 1/23/2018
0.91.0-beta2 10,887 12/8/2017
0.91.0-beta1 1,791 11/29/2017
0.90.0 410,953 10/23/2017
0.90.0-beta2 2,078 10/6/2017
0.89.0 246,576 9/12/2017
0.89.0-beta1 3,497 8/23/2017
0.88.0 128,822 7/24/2017
0.88.0-beta1 8,335 7/10/2017
0.87.1 605,607 4/3/2017
0.86.0 225,597 1/6/2017
0.85.0 148,287 12/7/2016
0.80.1 274,475 9/15/2016
0.76.0 1,023,998 12/16/2014
0.75.0 107,380 9/17/2014
0.74.0 27,011 8/10/2014
0.73.0 30,301 6/24/2014
0.72.3 11,273 6/4/2014
0.72.2 1,724 6/4/2014
0.72.1 31,560 6/4/2014
0.72.0 4,049 6/4/2014
0.71.1 9,615 5/26/2014
0.70.0 5,226 5/18/2014
0.69.2 106,220 10/3/2013
0.69.1 27,816 8/15/2013
0.69.0 3,260 8/10/2013
0.68.1 56,218 10/20/2012
0.68.0 2,547 10/12/2012
0.67.2 12,792 8/14/2012
0.67.1 1,772 8/13/2012
0.67.0 1,807 8/12/2012
0.66.1 2,422 7/28/2012
0.66.0 2,018 7/18/2012
0.65.2 4,357 4/21/2012
0.64.0 4,757 2/4/2012
Show less