ClosedXML 0.95.0-beta1

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 prerelease version of this package available.
See the version list below for details.
Install-Package ClosedXML -Version 0.95.0-beta1
dotnet add package ClosedXML --version 0.95.0-beta1
<PackageReference Include="ClosedXML" Version="0.95.0-beta1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ClosedXML --version 0.95.0-beta1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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

Enhancements

  • #1015 Text join func enhancement (Thanks @James-Whitfield)
  • #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
  • #1129 Implementation pivot table formats (Thanks @b0bi79)
  • #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
  • #1170 Remove IXLSheetProtection.IsProtected public setter

Bug fixes

  • #1063 Copy comment style correctly when shifting ranges
  • #1108 Correctly save empty cell with quote prefix (do not treat as empty)
  • #1132 &lt;c&gt; 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

Thanks to @Pankraty for many PRs, as usual.

  • @igitur

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

Enhancements

  • #1015 Text join func enhancement (Thanks @James-Whitfield)
  • #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
  • #1129 Implementation pivot table formats (Thanks @b0bi79)
  • #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
  • #1170 Remove IXLSheetProtection.IsProtected public setter

Bug fixes

  • #1063 Copy comment style correctly when shifting ranges
  • #1108 Correctly save empty cell with quote prefix (do not treat as empty)
  • #1132 &lt;c&gt; 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

Thanks to @Pankraty for many PRs, as usual.

  • @igitur

Release Notes

See https://github.com/ClosedXML/ClosedXML/releases/tag/0.95.0-beta1

Showing the top 3 GitHub repositories that depend on ClosedXML:

Repository Stars
Implem/Implem.Pleasanter
Pleasanter | Business application platform
matthidinger/DoddleReport
Generate custom reports (PDF, Excel, etc) from any IEnumerable datasource.
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.

Version History

Version Downloads Last updated
0.95.0-beta2 4,406 8/21/2019
0.95.0-beta1 9,300 4/4/2019
0.94.2 556,545 12/18/2018
0.94.0 12,658 12/12/2018
0.94.0-rc2 2,476 11/29/2018
0.94.0-rc1 4,182 11/11/2018
0.93.1 307,174 8/7/2018
0.93.0 113,668 6/25/2018
0.93.0-rc3 5,225 6/7/2018
0.93.0-rc2 1,858 5/31/2018
0.93.0-beta4 2,870 5/14/2018
0.93.0-beta2 2,706 4/26/2018
0.93.0-beta1 1,263 4/19/2018
0.92.1 184,445 4/10/2018
0.92.0-beta1 3,068 3/22/2018
0.91.1 10,951 4/4/2018
0.91.0 126,686 1/31/2018
0.91.0-beta3 1,480 1/23/2018
0.91.0-beta2 8,463 12/8/2017
0.91.0-beta1 1,399 11/29/2017
0.90.0 263,729 10/23/2017
0.90.0-beta2 1,687 10/6/2017
0.89.0 171,597 9/12/2017
0.89.0-beta1 1,882 8/23/2017
0.88.0 79,410 7/24/2017
0.88.0-beta1 1,462 7/10/2017
0.87.1 332,900 4/3/2017
0.86.0 157,847 1/6/2017
0.85.0 83,104 12/7/2016
0.80.1 150,096 9/15/2016
0.76.0 685,582 12/16/2014
0.75.0 64,122 9/17/2014
0.74.0 24,398 8/10/2014
0.73.0 21,428 6/24/2014
0.72.3 7,229 6/4/2014
0.72.2 1,300 6/4/2014
0.72.1 7,819 6/4/2014
0.72.0 3,375 6/4/2014
0.71.1 6,387 5/26/2014
0.70.0 4,366 5/18/2014
0.69.2 78,350 10/3/2013
0.69.1 15,091 8/15/2013
0.69.0 1,878 8/10/2013
0.68.1 40,623 10/20/2012
0.68.0 1,765 10/12/2012
0.67.2 10,210 8/14/2012
0.67.1 1,385 8/13/2012
0.67.0 1,357 8/12/2012
0.66.1 2,003 7/28/2012
0.66.0 1,582 7/18/2012
0.65.2 3,382 4/21/2012
0.64.0 3,624 2/4/2012