ClosedXML 0.93.0

ClosedXML makes it easier for developers to create Excel 2007+ (.xlsx, .xlsm, etc) files. It provides a nice object oriented way to manipulate the files (similar to VBA) without dealing with the hassles of XML Documents. It can be used by any .NET language like C# and VisualBasic.NET.

There is a newer version of this package available.
See the version list below for details.
Install-Package ClosedXML -Version 0.93.0
dotnet add package ClosedXML --version 0.93.0
<PackageReference Include="ClosedXML" Version="0.93.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ClosedXML --version 0.93.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Notes

  • Big internal refactoring to reduce memory consumption.
  • Pivot tables with tables as data sources are now supported. Previously these pivot tables were ignored. They are now parsed and can be manipulated. Please note that there are still unsupported pivot table features, e.g. calculated fields. These unsupported features might now be triggered for pivot tables with table data sources.

Gratitude

A big thank you to @pankraty for the work he's done on implementing the style and range repositories.

Breaking changes:

  • Workbook calculation will now use cached results. Call IXLWorkbook.RecalculateAllFormulas if you get unexpected results.
  • IXLCell.ValueCached is now obsolete. Use IXLCell.CachedValue rather.
  • Default table theme changed to TableStyleMedium2 (as Excel does)
  • XLAddress and XLRangeAddress is now immutable. Use ws.Cell(.., ..).Address and ws.Range(..).RangeAddress to get instances.
  • IDisposable interface removed from many classes, e.g from IXLRange.
  • Extension methods now internal. The full list of extension methods that were removed, can be found at here . If you used them, please find alternatives, e.g. morelinq for the .ForEach method.
  • Setting a cell value using .SetValue() to a date that's lower than the base date will throw an ArgumentException.
  • Disallow negative row or column count to be inserted
  • Conditional formats applied to multiple ranges are not split into multiple IXLConditionalFormat instances. Use the new IXLConditionalFormat.Ranges) (plural) method to retrieve all ranges. IXLConditionalFormat.Range (singular) will return only the first range.
  • This package is now unsigned (no strong name). Use the ClosedXML.Signed NuGet package for the signed version.

Notes

  • Big internal refactoring to reduce memory consumption.
  • Pivot tables with tables as data sources are now supported. Previously these pivot tables were ignored. They are now parsed and can be manipulated. Please note that there are still unsupported pivot table features, e.g. calculated fields. These unsupported features might now be triggered for pivot tables with table data sources.

Gratitude

A big thank you to @pankraty for the work he's done on implementing the style and range repositories.

Breaking changes:

  • Workbook calculation will now use cached results. Call IXLWorkbook.RecalculateAllFormulas if you get unexpected results.
  • IXLCell.ValueCached is now obsolete. Use IXLCell.CachedValue rather.
  • Default table theme changed to TableStyleMedium2 (as Excel does)
  • XLAddress and XLRangeAddress is now immutable. Use ws.Cell(.., ..).Address and ws.Range(..).RangeAddress to get instances.
  • IDisposable interface removed from many classes, e.g from IXLRange.
  • Extension methods now internal. The full list of extension methods that were removed, can be found at here . If you used them, please find alternatives, e.g. morelinq for the .ForEach method.
  • Setting a cell value using .SetValue() to a date that's lower than the base date will throw an ArgumentException.
  • Disallow negative row or column count to be inserted
  • Conditional formats applied to multiple ranges are not split into multiple IXLConditionalFormat instances. Use the new IXLConditionalFormat.Ranges) (plural) method to retrieve all ranges. IXLConditionalFormat.Range (singular) will return only the first range.
  • This package is now unsigned (no strong name). Use the ClosedXML.Signed NuGet package for the signed version.

Release Notes

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

Version History

Version Downloads Last updated
0.95.0-beta1 2,728 4/4/2019
0.94.2 212,587 12/18/2018
0.94.0 8,123 12/12/2018
0.94.0-rc2 1,225 11/29/2018
0.94.0-rc1 3,207 11/11/2018
0.93.1 238,833 8/7/2018
0.93.0 95,706 6/25/2018
0.93.0-rc3 3,528 6/7/2018
0.93.0-rc2 1,146 5/31/2018
0.93.0-beta4 2,149 5/14/2018
0.93.0-beta2 1,672 4/26/2018
0.93.0-beta1 541 4/19/2018
0.92.1 152,012 4/10/2018
0.92.0-beta1 2,291 3/22/2018
0.91.1 8,876 4/4/2018
0.91.0 110,320 1/31/2018
0.91.0-beta3 751 1/23/2018
0.91.0-beta2 6,365 12/8/2017
0.91.0-beta1 705 11/29/2017
0.90.0 223,851 10/23/2017
0.90.0-beta2 987 10/6/2017
0.89.0 141,380 9/12/2017
0.89.0-beta1 961 8/23/2017
0.88.0 71,487 7/24/2017
0.88.0-beta1 752 7/10/2017
0.87.1 285,232 4/3/2017
0.86.0 142,671 1/6/2017
0.85.0 67,522 12/7/2016
0.80.1 132,127 9/15/2016
0.76.0 604,687 12/16/2014
0.75.0 60,792 9/17/2014
0.74.0 23,195 8/10/2014
0.73.0 17,513 6/24/2014
0.72.3 6,187 6/4/2014
0.72.2 608 6/4/2014
0.72.1 4,649 6/4/2014
0.72.0 2,628 6/4/2014
0.71.1 4,463 5/26/2014
0.70.0 3,587 5/18/2014
0.69.2 70,173 10/3/2013
0.69.1 13,010 8/15/2013
0.69.0 893 8/10/2013
0.68.1 37,401 10/20/2012
0.68.0 862 10/12/2012
0.67.2 9,241 8/14/2012
0.67.1 672 8/13/2012
0.67.0 644 8/12/2012
0.66.1 1,295 7/28/2012
0.66.0 870 7/18/2012
0.65.2 2,632 4/21/2012
0.64.0 2,754 2/4/2012
Show less