Notes
- Big internal refactoring to reduce memory consumption.
Gratitude
A big thank you to @Pankraty for the work he's done on implementing the style and range repositories.
Breaking changes:
- Use
ClosedXML
if you don't require a signed version. UseClosedXML.Signed
if you require a signed version (strong name). - Workbook calculation will now use cached results. Call
IXLWorkbook.RecalculateAllFormulas
if you get unexpected results. IXLCell.ValueCached
is now obsolete. UseIXLCell.CachedValue
rather.- Default table theme changed to
TableStyleMedium2
(as Excel does) XLAddress
andXLRangeAddress
is now immutable. Usews.Cell(.., ..).Address
andws.Range(..).RangeAddress
to get instances.IDisposable
interface removed from many classes, e.g fromIXLRange
.- 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 anArgumentException
. - Disallow negative row or column count to be inserted
- Conditional formats applied to multiple ranges are not split into multiple
IXLConditionalFormat
instances. Use the newIXLConditionalFormat.Ranges)
(plural) method to retrieve all ranges.IXLConditionalFormat.Range
(singular) will return only the first range.