ClosedXML 0.94.0-rc2

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.

This is a prerelease version of ClosedXML.
There is a newer version of this package available.
See the version list below for details.
Install-Package ClosedXML -Version 0.94.0-rc2
dotnet add package ClosedXML --version 0.94.0-rc2
<PackageReference Include="ClosedXML" Version="0.94.0-rc2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ClosedXML --version 0.94.0-rc2
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-rc2

Showing the top 6 GitHub repositories that depend on ClosedXML:

Repository Stars
Implem/Implem.Pleasanter
Pleasanter | Business application platform
rpa-ai/RPAStudio
RPA机器人流程自动化
open-rpa/openrpa
Free Open Source Enterprise Grade RPA
nhmkdev/cardmaker
An application that generates graphics via data sources.
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.
matthidinger/DoddleReport
Generate custom reports (PDF, Excel, etc) from any IEnumerable datasource.

Read more about the GitHub Usage information on our documentation.

Version History

Version Downloads Last updated
0.95.0-beta2 22,047 8/21/2019
0.95.0-beta1 13,837 4/4/2019
0.94.2 1,170,383 12/18/2018
0.94.0 19,495 12/12/2018
0.94.0-rc2 3,302 11/29/2018
0.94.0-rc1 4,539 11/11/2018
0.93.1 379,606 8/7/2018
0.93.0 133,658 6/25/2018
0.93.0-rc3 5,410 6/7/2018
0.93.0-rc2 1,944 5/31/2018
0.93.0-beta4 2,983 5/14/2018
0.93.0-beta2 3,153 4/26/2018
0.93.0-beta1 1,353 4/19/2018
0.92.1 229,120 4/10/2018
0.92.0-beta1 3,190 3/22/2018
0.91.1 16,470 4/4/2018
0.91.0 145,191 1/31/2018
0.91.0-beta3 1,607 1/23/2018
0.91.0-beta2 9,303 12/8/2017
0.91.0-beta1 1,465 11/29/2017
0.90.0 311,672 10/23/2017
0.90.0-beta2 1,752 10/6/2017
0.89.0 192,462 9/12/2017
0.89.0-beta1 2,159 8/23/2017
0.88.0 88,115 7/24/2017
0.88.0-beta1 1,593 7/10/2017
0.87.1 404,754 4/3/2017
0.86.0 175,107 1/6/2017
0.85.0 101,486 12/7/2016
0.80.1 171,976 9/15/2016
0.76.0 774,178 12/16/2014
0.75.0 73,755 9/17/2014
0.74.0 25,485 8/10/2014
0.73.0 24,542 6/24/2014
0.72.3 7,743 6/4/2014
0.72.2 1,393 6/4/2014
0.72.1 12,426 6/4/2014
0.72.0 3,543 6/4/2014
0.71.1 8,583 5/26/2014
0.70.0 4,536 5/18/2014
0.69.2 88,126 10/3/2013
0.69.1 17,856 8/15/2013
0.69.0 2,258 8/10/2013
0.68.1 44,804 10/20/2012
0.68.0 1,862 10/12/2012
0.67.2 10,630 8/14/2012
0.67.1 1,462 8/13/2012
0.67.0 1,449 8/12/2012
0.66.1 2,096 7/28/2012
0.66.0 1,668 7/18/2012
0.65.2 3,612 4/21/2012
0.64.0 3,950 2/4/2012
Show less