Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/EPPlusSoftware/EPPlus

EPPlus-Excel spreadsheets for .NET
https://github.com/EPPlusSoftware/EPPlus

epplus excel net netcore netframework netstandard ooxml spreadsheet

Last synced: 11 days ago
JSON representation

EPPlus-Excel spreadsheets for .NET

Awesome Lists containing this project

README

        

![Nuget](https://img.shields.io/nuget/v/epplus)
[![Download EPPlus from nuget](https://img.shields.io/nuget/dt/epplus?label=Nuget%20downloads)](https://www.nuget.org/packages/EPPlus/)
[![Build status](https://ci.appveyor.com/api/projects/status/fn3lqpxfjff3jq0v?svg=true)](https://ci.appveyor.com/project/EPPlusSoftware/epplus7)
# 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](https://polyformproject.org/licenses/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](https://www.epplussoftware.com/Home/LgplToPolyform).

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](https://github.com/EPPlusSoftware/EPPlus)

## 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
```csharp
// 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
```json
{
{
"EPPlus": {
"ExcelPackage": {
"LicenseContext": "Commercial" //The license context used
}
}
}
}
```
### 3. Via app/web.config
```xml


```
### 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
* Calculation engine update to support array formulas. https://epplussoftware.com/en/Developers/EPPlus7
* 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.
* Better handling of circular references
* 90 new functions
* Faster optimized calculation engine with configurable expression caching.
* 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.
* Conditional Formatting improvements
* Improved performance, xml is now read and written on load and save.
* Cross worksheet support formula support.
* Extended styling options for color scales, data bars and icon sets.

## Breaking Changes
See https://github.com/EPPlusSoftware/EPPlus/wiki/Breaking-Changes-in-EPPlus-7

## Improved documentation
EPPlus 7 has a new web sample site available here: (https://samples.epplussoftware.com/) , Source code is available here: [EPPlus.WebSamples](https://github.com/EPPlusSoftware/EPPlus.WebSamples)
There is also a new sample project for four different docker images, [EPPlus.DockerSample](https://github.com/EPPlusSoftware/EPPlus.DockerSample).
EPPlus also has two separate sample projects for [C#](https://github.com/EPPlusSoftware/EPPlus.Samples.CSharp) and [Visual Basic](https://github.com/EPPlusSoftware/EPPlus.Samples.VB/) respectively.
There is also an updated [developer wiki](https://github.com/EPPlusSoftware/EPPlus/wiki).
The work with improving the documentation will continue, feedback is highly appreciated!