EPPlus 6.0.x

Released: Apr 12, 2022

Updates in 6.0.x

v6.0.8

Updated Sep 21, 2022

Fixes

  • Fixed issue with the DataValidations.Clear() method, where DataValidations were only removed from the collection classes in EPPlus but not removed from the underlying xml.
  • Fixed issue where inserting/deleting columns in the source of a pivot table sometimes caused the PivotTable to become corrupt.
  • Fixed issue with Png files without the pHYs chunk that failed to Add to the Drawings collection.
  • Adjusted the EPPlus source code to avoid validation errors from the PEVerify tool.
  • Added error handling to the initialization of RecyclableMemoryStreamManager which previously caused an uncontrolled Exception on the Unity platform.
  • When saving a workbook with external references to another workbook, EPPlus now updates the reference with a relative path instead of an absolute path.

v6.0.7

Updated Aug 30, 2022

Features

  • Added new static method ExcelPackage.Configure to specify the location of the config file and configure error handling.

Fixes

  • Copying comments sometimes did not change the name in the vml drawing causing OOXML validation to complain on duplicate drawings.
  • The count attribute on 'xsf' node in Styles.xml was not correctly set.
  • Setting drawing coordinates did not update the xml on save if ExcelPackage.DoAdjustDrawings was set to false.
  • IF function now handle errors correctly.
  • Added method ExcelRangeBase.SetErrorValue to set a cell to an error value. Added static methods ExcelErrorValue.Create and ExcelErrorValue.Parse.
  • Referencing a worksheet to a cell address after a colon (for example 'sheet1'!a1:'sheet1'!A3) did not work correctly in the formula calculation.
  • Added RichText and TextBody properties to ExcelControlWithText.
  • Removing / Clearing or inserting into a table with a Calculated Column Formula sometimes caused a corrupt workbook or an Exception.
  • Removing VBA signatures did not remove the newer types of signatures, Agile and V3.
  • ExcelRangeBase.ToDataTable could not export a range with no column names and a single row.
  • LoadFromCollection with attributes now uses HeaderPrefix for in column names for nested complex type properties.

v6.0.6

Updated Jul 8, 2022

Fixes

  • Fixed an error in Positioning and sizing of form controls introduced in 5.8.12.
  • Pivot table styles in template workbooks sometimes corrupts the new workbook.
  • Spaces were not preserved in rich text in drawing objects.
  • Defined names referencing external reference sometimes loaded incorrectly.
  • Drawing.ChangeCellAnchor causes a corrupt package in some cases.

v6.0.5

Updated Jun 10, 2022

Fixes

  • VBA code modules with LF only as EOL, causes code module to load incorrectly.
  • INDIRECT function did not always set the correct data type when returning a single cell.
  • Improves insert/delete performance when working with drawings.
  • Clearing ranges with threaded comments caused an exception.
  • Copying drawings with hyperlinks failed.
  • Insert row caused images to change size in some cases when having two anchored drawings.
  • Improved handling of percentage values in strings in formula calculation.
  • Custom index colors are now loaded from the styles.xml.
  • Fix to get the app0 header length correct for internal jpg reader for the internal image reader.
  • Images in the header row were not correctly rendered in the HTML export for ranges.
  • Upgraded .NET 4.5.2 to 4.6.2, as 4.5.2 has reached End of Support.

v6.0.4

Updated May 12, 2022

Features

  • Improved handling of circular references in SUMIF and COUNTIF functions.
  • Improved handling of workbook- and worksheet-names when loading from a file with a relative address.

Fixes

  • The HTML export of ranges sometimes rendered styles in merged cells incorrectly.
  • Memory optimization reading directly from the zip stream, when reading the worksheet xml, allowing unextracted parts larger than 2GB.
  • Hyperlinks in cells added with 'Display' is null will now use the formatted cell value as text for in workbook links.
  • Removed invalid attribute TopLeftCell on the Selection element for split/frozen worksheets.
  • Fixed an issue in the unzipping of packages using ZIP64 file headers and data descriptors.
  • Fix for removing rows from ExcelTable with options ShowHeader set to false.
  • Box and Whisker chart series failed when copied to a new worksheet.

v6.0.3

Updated Apr 12, 2022

Features

  • Added Microsoft .NET 6 support.
  • Added the ability to export a table or range to HTML/CSS.
  • Added the ability to export JSON directly from a range or a table. The .NET datatypes from EPPlus will be translated to a more generic format and both the raw value and the formatted value from the cells will be included. JSON export for ranges and table looks slightly different as tables contains a more structured format.
  • Removed direct reference to System.Drawing.Common.
  • Support for new image formats:
    • SVG.
    • ICO.
    • WebP.
  • Added 32 new functions:
    • BETADIST.
    • BETA.DIST.
    • BETAINV.
    • BETA.INV.
    • CHIDIST.
    • CHISQ.DIST.RT.
    • CHIINV.
    • CHISQ.INV.
    • CHISQ.INV.RT.
    • CORREL.
    • EXPONDIST.
    • EXPON.DIST.
    • FISHER.
    • FISHERINV.
    • FORECAST.
    • FORECAST.LINEAR.
    • GAUSS.
    • GEOMEAN.
    • HARMEAN.
    • INTERCEPT.
    • KURT.
    • PEARSON.
    • PHI.
    • RSQ.
    • SKEW.
    • SKEW.P.
    • STANDARDIZE.
    • ACCRINT.
    • ACCRINTM.
    • TBILLEQ.
    • TBILLPRICE.
    • TBILLYIELD.
  • Breaking Change: Static class 'FontSize' has split width and heights into two dictionaries. FontSizes are lazy-loaded when needed.
  • Added new ExcelRangeBase.GetCellValue method.
  • Added new overload for ExcelRangeBase.LoadFromDictionaries method with IEnumerable.
  • Added Datatypes and Culture to LoadFromDictionariesParams. This is the settings for the ExcelRangeBase.ExcelRangeBase.LoadFromDictionaries.
  • Added ExcelRichTextCollection.HtmlText and ExcelRichText.HtmlText properties.
  • Added new parameter to ExcelAutoFilter.ApplyFilter to calculate formulas for the filter range.