EPPlus 7.0.0-preview1

EPPlus 7

Announcement: new license model from version 5

EPPlus has from this new major version changed license from LGPL to Polyform Noncommercial 1.0.0.

With the new license EPPlus is still free to use in some cases, but will require a commercial license to be used in a commercial business.

This is explained in more detail here.

Commercial licenses, which includes support, can be purchased at (https://www.epplussoftware.com/).

The source code of EPPlus has moved to a new github repository

LicenseContext parameter must be set

With the license change EPPlus has a new parameter that needs to be configured. If the LicenseContext is not set, EPPlus will throw a LicenseException (only in debug mode).

This is a simple configuration that can be set in a few alternative ways:

1. Via code

// If you are a commercial business and have
// purchased commercial licenses use the static property
// LicenseContext of the ExcelPackage class :
ExcelPackage.LicenseContext = LicenseContext.Commercial;

// If you use EPPlus in a noncommercial context
// according to the Polyform Noncommercial license:
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
    
using(var package = new ExcelPackage(new FileInfo("MyWorkbook.xlsx")))
{

}

2. Via appSettings.json

{
    {
    "EPPlus": {
        "ExcelPackage": {
            "LicenseContext": "Commercial" //The license context used
            }
        }
    }
}

3. Via app/web.config

<appSettings>
    <!--The license context used-->
    <add key="EPPlus:ExcelPackage.LicenseContext" value="NonCommercial" />
</appSettings>

4. Set the environment variable 'EPPlusLicenseContext'

This might be the easiest way of configuring this. Just as above, set the variable to Commercial or NonCommercial depending on your usage.

Important! The environment variable should be set at the user or process level.

New features in EPPlus 7 preview 1

  • Calculation engine update to array formulas. https://github.com/EPPlusSoftware/EPPlus/wiki/EPPlus-7-Preview
    • Support for calculating legacy / dynamic array formulas.
    • Support for intersect operator.
    • Support for Implicit intersection.
    • Support for array parameters in functions.
    • Better support for using the colon operator with functions.
    • 21 new functions

Breaking Changes

The formula parser has changed significantly in EPPlus 7, requiring all custom functions that inherits from the ExcelFunction class to be reviewed. The ExcelFunction class now exposes new properties used to handle array results and condition behaviour.

  • NamespacePrefix - If the function requires a prefix when saved, for example "_xlfn." or "_xlfn._xlws."

  • HasNormalArguments a boolean indicating if the formula only has normal arguments. If false, the GetParameterInfo method must be implemented. Default is true.

  • ReturnsReference - If true the function can return a reference to a range. Use the CreateAddressResult to return the result with a reference. Returning a reference, will cause the dependency chain to check the address and will allow the colon operator to be used with the function.

  • IsVolatile - If the function returns different result when called with the same parameters. Default false.

  • ArrayBehaviour - If the function allows arrays as input in a parameter, resulting in an array output. Also see the GetArrayBehaviourConfig method. Methods

  • CreateAddressResult - Return the result with an range to a range.

  • CreateDynamicArrayResult - The result should be treated as a dynamic array.

  • GetArrayBehaviourConfig - Sets the index if the parameters that can be arrays. Also see the ArrayBehaviour property.

  • The source code tokenizer now tokenize more detailed, tokenizing addresses.

  • The expression handling is totally rewritten and now uses reversed polish notation instead of group expressions.

Breaking Changes in version 6.

Breaking Changes in version 5.

  • The default behavior for the Worksheet collection base in .NET Framework has changed from 1 to 0. This is the same default behavior as in .NET core today.
  • Pictures have changed the behavior as the oneCellAnchor tag is used instead of the twoCellAnchor tag with the editAs="oneCell".

Improved documentation

EPPlus 6 has a new web sample site available here: (https://samples.epplussoftware.com/) , Source code is available here: EPPlus.WebSamples There is also a new sample project for four different docker images, EPPlus.DockerSample EPPlus also has two separate sample projects for .NET Core and .NET Framework respectively. There is also an updated developer wiki. The work with improving the documentation will continue, feedback is highly appreciated!

No packages depend on EPPlus.

EPPlus 7.0.0-Preview 1 IMPORTANT NOTICE! From version 5 EPPlus changes the license model using a dual license, Polyform Non Commercial / Commercial license. EPPlus will still have the source available, but for non Polyform NC compliant projects, EPPlus will provide a commercial license. Commercial licenses can be purchased from https://epplussoftware.com This applies to EPPlus version 5 and later. Earlier versions are still licensed LGPL. ## Version 7.0.0-Preview 1 * Calculation engine update to support array formulas. https://github.com/EPPlusSoftware/EPPlus/wiki/EPPlus-7-Preview * Support for calculating legacy / dynamic array formulas. * Support for intersect operator. * Support for Implicit intersection. * Support for array parameters in functions. * Better support for using the colon operator with functions. * 21 new functions * Breaking changes: Updated calculation engine, See [Breaking Changes in EPPlus 7](https://github.com/EPPlusSoftware/EPPlus/wiki/Breaking-Changes-in-EPPlus-7) for more information ## Version 6.2.4 * Bug fixes. https://epplussoftware.com/Developers/MinorFeaturesAndIssues ## Version 6.2.3 * Bug fixes. ## Version 6.2.2 * Bug fixes. ## Version 6.2.1 * Bug fixes. ## Version 6.2.0 * Improved performance and better support for cross-worksheet references in data validations. * Bug fixes. ## Version 6.1.3 * Bug fixes. ## Version 6.1.2 * Bug fixes. ## Version 6.1.1 * Added Target framework .NET 7. * Add support for linking a cell to a chart title text * Bug fixes. https://epplussoftware.com/Developers/MinorFeaturesAndIssues ## Version 6.1.0 * Support for the Agile and V3 VBA signing. - https://github.com/EPPlusSoftware/EPPlus/wiki/VBA * ExcelRange.ToCollection method - to map ranges and tables to an collection of T - https://github.com/EPPlusSoftware/EPPlus/wiki/ToCollection * New methods to group, ungroup, collapse and expand rows and columns - https://github.com/EPPlusSoftware/EPPlus/wiki/Grouping-and-Ungrouping-Rows-and-Columns * New overloads of Drawings.AddPicture that reads the signature of the image from stream to identify the type of image. * AddPicture(string, Stream) * AddPicture(string, Stream, Uri) These overloads has been has been deprecated * AddPicture(string, Stream, ePictureType) * AddPicture(string, Stream, ePictureType, Uri) * Preserve the 'Table' formula properties (Created via the What-If analysis-Data Table). * Target framework .NET 5.0 has been removed as it is out of support by Microsoft. * Bug fixes. ## Version 6.0.8 * Bug fixes. ## Version 6.0.7 * Minor feature and Bug fixes. ## Version 6.0.6 * Bug fixes. ## Version 6.0.5 * Bug fixes. ## Version 6.0.4 * Bug fixes. ## Version 6.0.3 * Html Export - https://github.com/EPPlusSoftware/EPPlus/wiki/HTML-Export * Json Export - https://github.com/EPPlusSoftware/EPPlus/wiki/JSON-Export * 32 new functions. * Support for new image types: Svg, WebP and Ico. * Removed direct references to System.Drawing.Common, see https://github.com/EPPlusSoftware/EPPlus/wiki/Breaking-Changes-in-EPPlus-6 * Bug fixes. To see the new export in action, visit our new Web Sample Site: https://samples.epplussoftware.com See https://epplussoftware.com/Developers/EPPlus6 for more details. ## Version 5.8.10 * Bug fixes. ## Version 5.8.9 * Bug fixes. ## Version 5.8.8 * Bug fixes. ## Version 5.8.7 * Bug fixes. ## Version 5.8.6 * Bug fixes. ## Version 5.8.5 * Bug fixes. ## Version 5.8.4 * 10 new functions * Bug fixes. ## Version 5.8.3 * Bug fixes. ## Version 5.8.2 * Bug fixes. ## Version 5.8.1 * Bug fixes. ## Version 5.8.0 * ExcelWorksheetView.SplitPanes method added * ExcelRangeBase Fill method added * FillNumber * FillDateTime * FillList * New collection properties for Rows and Columns * ExcelWorksheet.Rows * ExcelWorksheet.Columns * ExcelRangeBase.EntireRow * ExcelRangeBase.EntireColum * Support for formatting and deleting individual Chart Legend Entries. * Range.Copy improvments. * Bug fixes ## Version 5.7.5 * Bug fixes. ## Version 5.7.4 * Bug fixes. ## Version 5.7.3 * Bug fixes. ## Version 5.7.2 * Bug fixes. ## Version 5.7.1 * Bug fixes. ## Version 5.7.0 * External links * Enhanced sorting * Table and auto filter sort state. * Horizontal sorting * Pivot table auto sort * Pivot tables - Support for Show Value As on data fields * Bug fixes. ## Version 5.6.4 * Bug fixes. ## Version 5.6.3 * Bug fixes. ## Version 5.6.2 * Bug fixes. ## Version 5.6.1 * Bug fixes. ## Version 5.6.0 * Custom table styles. * Create and modify custom table styles that can be applied to tables and pivot tables. * Create and modify custom slicer styles * Pivot table styling using pivot areas to style individual areas within a pivot table. * Enhanced table styling * Added three new style properties to the ExcelTable and ExcelTableColumn * HeaderRowStyle * DataStyle * TotalsRowStyle * Bug fixes. ## Version 5.5.5 * Bug fixes. ## Version 5.5.4 * Bug fixes. ## Version 5.5.3 * Bug fixes. ## Version 5.5.2 * Bug fixes. ## Version 5.5.1 * 10 new functions * Bug fixes. ## Version 5.5.0 * Form Controls * Buttons * Drop-Downs * List Boxes * Check Boxes * Radio Buttons * Spin Buttons * Scroll Bars * Labels * Group Boxes * Group/Ungroup drawing object via the ExcelDrawing.Group and ExcelDrawing.Ungroup methods * New attribute support for LoadFromCollection. See https://github.com/EPPlusSoftware/EPPlus/wiki/LoadFromCollection-using-Attributes * 20 new functions * Bug fixes ## Version 5.4.2 * .NET 5.0 * Bug fixes ## Version 5.4.1 # Features * WriteProtection added to Workbook.Protection. Allows to set a workbook to read-only with a password. * ToDataTable method added to ExcelRange * Bug fixes ## Version 5.4.0 ### Features * Pivot tables filters * Item filters - Filters on individual items in row/column or page fields. * Caption filters (label filters) - Filters for text on row and column fields. * Date, numeric and string filters - Filters using various operators such as Equals, NotBetween, GreaterThan, etc. * Top 10 filters - Filters using top or bottom criterias for percent, count or value. * Dynamic filters - Filters using various date- and average criterias. * Add calculated fields to pivot tables. * Support for pivot table shared caches via the new overload for PivotTables.Add. * Support for pivot table slicers * Support for table slicers * Bug fixes ## Version 5.3.2 * Bug fixes ## Version 5.3.1 * Added support for copying threaded comments * Add FormulaParserManager.Parse method. * Bug fixes New features in version 5.3.0: * Support for Threaded Comments with mentions. See https://github.com/EPPlusSoftware/EPPlus/wiki/Threaded-comments * New functions MAXIFS and MINIFS * Bug fixes New features in version 5.2.1: * New method ExcelRange.LoadFromDictionary. Support for Dynamics in LoadFromCollection (ExpandoObject). * Zip64 support in packaging to enable larger packages. * Bug fixes. New features in version 5.2: * Support for extended chart types and stock charts: * Four types of stock charts: High-Low-Close, Open-High-Low-Close, Volume-High-Low-Close and Volume-Open-High-Low-Close * Sunburst Chart * Treemap Chart * Histogram Chart * Pareto Chart * Funnel Chart * Waterfall Chart * Box & Whisker Chart * Region Map Chart. * Support for 49 new functions in the formula calc engine, mainly finance and engineering. * Bug fixes New features in version 5.0 and 5.1: * Extensively improved chart and drawing functionality/styling * Theme support * Filter support * Async / Await support for I/O operations * Ignore Error on cells * Improvements of the formula calc engine and over 100 new supported functions * Refactored/improved codebase * Insert/Delete in ranges and tables. Breaking Changes * LoadFromCollection changes the data type of parameter 'TableStyle' from 'TableStyles' to 'TableStyles?'. The default value, if omitted, changes from 'TableStyles.None' to null. 'TableStyles.None', if supplied will create a table with style None. * The default behavior for the Worksheet collection base in .NET Framework has changed from 1 to 0. This is the same default behavior as in .NET core today. * Pictures have changed the behavior as the oneCellAnchor tag is used instead of the twoCellAnchor tag with the editAs="oneCell". * Pivot tables will always refresh on load. * Adding and inserting table row will now copy styles from the row above. * ...and more, see https://epplussoftware.com/docs/5.8/articles/breakingchanges.html Worksheets collection behavior in .NET Framework The default behavior for the Worksheet collection base in .NET Framework has changed from 1 to 0. This is the same behavior as in .NET Core. For backward compatibility the property IsWorksheets1Based can be set to true, to have the same behavior as in previous version of EPPlus. This property can also be set in the app.config. For more details see https://github.com/EPPlusSoftware/EPPlus/wiki/Breaking-Changes-in-EPPlus-5.0 A list of fixed issues can be found here https://epplussoftware.com/docs/5.8/articles/fixedissues.html Version history 7.0.0-preview 1 20230519 Calculation engine update for array formulas. https://github.com/EPPlusSoftware/EPPlus/wiki/EPPlus-7-Preview 6.2.4 20230515 Minor bug fixes. See https://epplussoftware.com/Developers/MinorFeaturesAndIssues 6.2.3 20230502 Minor bug fixes. 6.2.2 20230417 Minor bug fixes. 6.2.1 20230406 Minor bug fixes. 6.2.0 20230324 Performance update to data validation. Minor bug fixes. 6.1.3 20230224 Minor bug fixes. 6.1.2 20230119 Minor bug fixes. 6.1.1 20221121 Minor bug fixes. See https://epplussoftware.com/Developers/MinorFeaturesAndIssues 6.1.0 20221103 Newer types of VBA signatures, ToCollection method, Methods for Grouping rows and columns. 6.0.8 20220921 Minor bug fixes. 5.8.14 20220921 Minor bug fixes. 6.0.7 20220830 Minor bug fixes. 5.8.13 20220830 Minor bug fixes. 6.0.6 20220708 Minor bug fixes. 5.8.12 20220708 Minor bug fixes. 6.0.5 20220610 Minor bug fixes. 5.8.11 20220610 Minor bug fixes. 6.0.4 20220512 Minor bug fixes. 5.8.10 20220512 Minor bug fixes. 6.0.3 20220412 Html and JSON export. New drawing handling. https://epplussoftware.com/Developers/EPPlus6 5.8.9 20220411 Minor bug fixes. 5.8.8 20220322 Minor bug fixes. 6.0.1 20220310 Beta 2 6.0.0 20220307 Beta 1 5.8.7 20220301 Minor bug fixes. 5.8.6 20220203 Minor bug fixes. 5.8.5 20220113 Minor features and bug fixes. 5.8.4 20211214 Minor features and bug fixes. 5.8.3 20211119 Minor bug fixes. 5.8.2 20211029 Minor bug fixes. 5.8.1 20211026 Minor bug fixes. 5.8.0 20211021 Range.Fill methods, Range Rows and Column Collection, Range.Copy improvments and Worksheet Split Panes. 5.7.5 20210921 Minor bug fixes. 5.7.4 20210826 Minor bug fixes. 5.7.3 20210810 Minor bug fixes. 5.7.2 20210722 Minor bug fixes. 5.7.1 20210706 Minor bug fixes. 5.7.0 20210617 External links. Better sorting support. Pivot table ShowAs 5.6.4 20210512 Minor bug fixes. 5.6.3 20210416 Minor bug fixes. 5.6.2 20210407 Minor bug fixes. 5.6.1 20210322 Minor bug fixes. 5.6.0 20210315 Custom table styles. Pivot table styling. Table styling enhancements. 5.5.5 20210223 Minor bug fixes. 5.5.4 20210216 Minor bug fixes. 5.5.3 20210206 Minor bug fixes. 5.5.2 20210118 Minor bug fixes. 5.5.1 20210111 Minor features and bug fixes. 5.5.0 20201218 Form Controls. 5.4.2 20201119 Minor features and bug fixes. 5.4.1 20201105 Minor features and bug fixes. 5.4.0 20201008 Table- and Pivot Table- Slicers. Pivot Table Filters. 5.3.2 20200914 Bug fixes. 5.3.1 20200902 Minor features and bug fixes. 5.3.0 20200819 Support for threaded comment with mentions. Minor feature and bug fixes. 5.2.1 20200722 Minor features and bug fixes. 5.2.0 20200623 Support for 12 new chart types. Minor features and bug fixes. 5.1.2 20200513 Minor features and bug fixes. 5.1.1 20200427 Minor bug fixes. 5.1.0 20200401 Insert, Delete in Ranges and Tables. Minor bug fixes. 5.0.4 20200310 Minor bug fixes. 5.0.3 20200308 Initial release EPPlus 5

Version Downloads Last updated
7.5.2 3 12/14/2024
7.5.1 6 11/26/2024
7.5.0 7 11/18/2024
7.4.2 7 11/02/2024
7.4.1 13 10/11/2024
7.4.0 8 10/02/2024
7.3.2 12 09/17/2024
7.3.1 9 09/06/2024
7.3.0 10 08/21/2024
7.2.2 12 07/25/2024
7.2.1 13 07/03/2024
7.2.0 15 06/22/2024
7.1.3 10 06/02/2024
7.1.2 12 04/27/2024
7.1.1 9 04/12/2024
7.1.0 11 04/14/2024
7.0.10 10 03/13/2024
7.0.9 11 02/18/2024
7.0.8 12 01/24/2024
7.0.7 9 01/22/2024
7.0.6 11 01/12/2024
7.0.5 15 01/05/2024
7.0.4 9 12/15/2023
7.0.3 12 12/06/2023
7.0.2 11 11/29/2023
7.0.1 18 11/09/2023
7.0.0 11 10/26/2023
7.0.0-rc1 12 10/04/2023
7.0.0-preview2 23 07/21/2023
7.0.0-preview1 30 05/24/2023
7.0.0-beta1 13 09/25/2023
6.2.19 13 04/14/2024
6.2.18 13 03/13/2024
6.2.17 12 02/19/2024
6.2.16 12 01/13/2024
6.2.15 11 12/17/2023
6.2.14 17 12/06/2023
6.2.13 11 11/29/2023
6.2.12 15 11/09/2023
6.2.11 7 10/26/2023
6.2.10 12 10/04/2023
6.2.9 13 09/14/2023
6.2.8 15 09/14/2023
6.2.7 27 08/28/2023
6.2.6 15 06/18/2023
6.2.5 13 06/18/2023
6.2.4 29 05/17/2023
6.2.3 18 05/30/2023
6.2.2 13 06/18/2023
6.2.1 18 05/17/2023
6.2.0 16 06/18/2023
6.1.3 11 09/08/2023
6.1.2 13 05/17/2023
6.1.1 39 12/11/2022
6.1.0 38 11/30/2022
6.0.8 1,835 09/27/2022
6.0.7 22 09/09/2022
6.0.6 54 08/24/2022
6.0.5 32 09/02/2022
6.0.4 41 08/26/2022
6.0.3 21 06/30/2022
6.0.2-beta 45 08/23/2022
6.0.1-beta 22 07/25/2022
6.0.0-beta 19 09/03/2022
5.8.14 24 06/18/2023
5.8.13 23 09/07/2022
5.8.12 35 08/04/2022
5.8.11 42 08/13/2022
5.8.10 34 08/13/2022
5.8.9 41 08/13/2022
5.8.8 22 08/13/2022
5.8.7 37 09/07/2022
5.8.6 41 06/30/2022
5.8.5 32 08/24/2022
5.8.4 20 08/25/2022
5.8.3 20 09/07/2022
5.8.2 33 09/02/2022
5.8.1 53 08/23/2022
5.8.0 67 07/25/2022
5.7.5 50 09/07/2022
5.7.4 25 09/02/2022
5.7.3 50 09/11/2022
5.7.2 38 09/07/2022
5.7.1 22 09/02/2022
5.7.0 19 08/25/2022
5.6.4 19 08/23/2022
5.6.3 29 08/23/2022
5.6.2 69 09/04/2022
5.6.1 22 09/02/2022
5.6.0 25 09/10/2022
5.5.5 30 07/13/2022
5.5.4 35 09/08/2022
5.5.3 49 09/07/2022
5.5.2 41 06/28/2022
5.5.1 18 09/05/2022
5.5.0 17 09/08/2022
5.4.2 34 08/23/2022
5.4.1 21 09/07/2022
5.4.0 53 09/10/2022
5.3.2 46 08/24/2022
5.3.1 20 08/13/2022
5.3.0 40 08/13/2022
5.2.1 28 07/01/2022
5.2.0 38 08/13/2022
5.1.2 21 08/19/2022
5.1.1 30 07/03/2022
5.1.0 34 07/25/2022
5.0.4 20 08/13/2022
5.0.3 38 08/13/2022
5.0.2-rc 35 08/13/2022
5.0.1-beta 29 08/13/2022
5.0.0-beta 52 08/13/2022
4.5.3.3 2,025 06/27/2022
4.5.3.2 31 08/13/2022
4.5.3.1 63 08/13/2022
4.5.3 37 08/13/2022
4.5.2.1 45 08/13/2022
4.5.2 30 07/15/2022
4.5.1 36 08/13/2022
4.1.1 69 08/13/2022
4.1.0 36 07/03/2022
4.0.5 40 08/19/2022
4.0.4 31 08/19/2022
4.0.3 23 08/22/2022
4.0.2 20 08/18/2022
4.0.1.1 27 08/18/2022