Create advanced Excel spreadsheets using .NET

There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package EPPlus -Version
dotnet add package EPPlus --version
<PackageReference Include="EPPlus" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EPPlus --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

# EPPlus

     ## Announcement: This is the last version of EPPlus under the LGPL License
     EPPlus will from version 5 be licensed under the [Polyform Noncommercial 1.0.0]( https://polyformproject.org/licenses/noncommercial/1.0.0/) license.
     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.

     More information on the license change on [our website]( https://www.epplussoftware.com/Home/LgplToPolyform)

     New features in version 4.5:
     * .NET Core support
     * Sparklines
     * Sort method added to ExcelRange
     * Bug fixes and minor changes, see below and visit https://github.com/JanKallman/EPPlus for tutorials, samples and the latest information

     Important Notes:
     Breaking change in .NET Core: The Worksheets collection will be zero based as default.
     This can be altered by setting the ExcelPackage.Compatibility.IsWorksheets1Based to true.
     .NET Core will have this property set to false, and .Net 3.5 and .Net 4 version will have this property set to true for backward compatibility reasons.
     This property can also be set via the appsettings.json file in .Net Core or the app.config file. See sample project for examples!

     .NET Core uses a preview of System.Drawing.Common, so be aware of that. We will update it as Microsoft releases newer versions.
     System.Drawing.Common requires libgdiplus to be installed on non-Windows operating systems.
     Use your favorite package manager to install it.
     For example:

     Homebrew on MacOS:
     brew install mono-libgdiplus

     apt-get install libgdiplus

     EPPlus-A .NET Spreadsheet API
     * Support for .NET Standard 2.1 and updated package references (Removed target netcoreapp2.1).
     * Added a target build for .NET Core 2.1 (netcoreapp2.1) with System.Drawing.Common 4.6.0-preview6.19303.8
     * Fixed Text property with short date format
     * Fixed problem with defined names containing backslash
     * More bugfixes, see https://github.com/JanKallman/EPPlus/commits/master
     * Fixed Lookup function ignoring result vector.
     * Fixed address validation.

     * Upgraded System.Drawing.Common for .NET Core to 4.5.1
     * Enabled worksheetcharts to use a pivottable as source by adding a pivotTableSource parameter to the AddChart method of the Worksheets collection
     * Pmt function
     * And lots of bugfixes, see https://github.com/JanKallman/EPPlus/commits/master
     * Upgraded System.Drawing.Common for .NET Core to 4.5.0
     * Fixed problem with Apostrophe in worksheet name

     * Upgraded System.Drawing.Common to 4.5.0-rc1
     * Optimized image handling
     * External Streams are not closed when disposing the package
     * Fixed issue with Floor and Celing functions
     * And more bugfixes, see https://github.com/JanKallman/EPPlus/commits/master

     * Added web sample for .NET Core from Vahid Nasiri
     * Added sample sparkline sample to sample project
     * Fixed a few problems related to .NET Core on Mac
     * Fix for compound documents (VBA and Encryption).
     * Fix for Excel 2010 sha1 hashed agile encryption.
     * Upgraded System.Drawing.Common to 4.5.0-preview1-26216-02
     * Also see https://github.com/JanKallman/EPPlus/commits/master rc
     * Merge in e few pull requests and fixed a few issues. See https://github.com/JanKallman/EPPlus/commits/master Beta 2
     * Added sparkline support.
     * Switched targetframework from netcoreapp2.0 to netstandardapp2.0
     * Replaced CoreCompat.System.Drawing.v2 with System.Drawing.Common
     * Fixed a few issues. See https://github.com/JanKallman/EPPlus/commits/master Beta 1
     * .Net Core support.
     * Added ExcelPackage.Compatibility.IsWorksheets1Based to remove inconsistent 1 base collection on the worksheets collection.
     Note: .Net Core will have this property set to false, and .Net 3.5 and .Net 4 version will have this property set to true for backward compatibility reasons.
     This property can be set via the appsettings.json file in .Net Core or the app.config file. See sample project for examples.
     * RoundedCorners property Add to ExcelChart
     * DataTable propery Added  to ExcelPlotArea for charts
     * Sort method added on ExcelRange
     * Added functions NETWORKDAYS.INTL and NETWORKDAYS.
     * And a lot of bug fixes. See https://github.com/JanKallman/EPPlus/commits/master

     * Fix VBA bug in Excel 2016 - 1708 and later

     * Added functions Rank, Rank.eq, Rank.avg and Search
     * Applied a whole bunch of pull requests...
     * Performance and memory usage tweeks
     * Ability to set and retrieve 'custom' extended application propeties.
     * Added style QuotePrefix
     * Added support for MajorTimeUnit and MinorTimeUnit to chart axes
     * Added GapWidth Property to BarChart and Gapwidth.
     * Added Fill and Border properties to ChartSerie.
     * Added support for MajorTimeUnit and MinorTimeUnit to chart axes
     * Insert/delete row/column now shifts named ranges, comments, tables and pivottables.
     * And fixed a lot of issues. See https://epplus.codeplex.com/SourceControl/list/changesets for more details

     4.0.5 Fixes
     * Switched to Visual Studio 2015 for code and sample projects.
     * Added LineColor, MarkerSize, LineWidth and MarkerLineColor properties to line charts
     * Added LineEnd properties to shapes
     * Added functions Value, DateValue, TimeValue
     * Removed WPF depedency.
     * And fixed a lot of issues. See https://epplus.codeplex.com/SourceControl/list/changesets for more details

     4.0.4 Fixes
     * Added functions Daverage, Dvar Dvarp, DMax, DMin DSum,  DGet, DCount and DCountA
     * Exposed the formula parser logging functionality via FormulaParserManager.
     * And fixed a lot of issues. See https://epplus.codeplex.com/SourceControl/list/changesets for more details

     4.0.3 Fixes
     * Added compilation directive for MONO (Thanks Danny)
     * Added functions IfError, Char, Error.Type, Degrees, Fixed, IsNonText, IfNa and SumIfs
     * And fixed a lot of issues. See https://epplus.codeplex.com/SourceControl/list/changesets for more details

     4.0.2 Fixes
     * Fixes a whole bunch of bugs related to the cell store (Worksheet.InsertColumn, Worksheet.InsertRow, Worksheet.DeleteColumn, Worksheet.DeleteRow, Range.Copy, Range.Clear)
     * Added functions Acos, Acosh, Asinh, Atanh, Atan, CountBlank, CountIfs, Mina, Offset, Median, Hyperlink, Rept
     * Fix for reading Excel comment content from the t-element.
     * Fix to make Range.LoadFromCollection work better with inheritence
     * And alot of other small fixes

     4.0.1 Fixes
     * VBA unreadable content
     * Fixed a few issues with InsertRow and DeleteRow
     * Fixed bug in Average and AverageA
     * Handling of Div/0 in functions
     * Fixed VBA CodeModule error when copying a worksheet.
     * Value decoding when reading str element for cell value.
     * Better exception when accessing a worksheet out of range in the Excelworksheets indexer.
     * Added Small and Large function to formula parser. Performance fix when encountering an unknown function.
     * Fixed handling strings in formulas
     * Calculate hangs if formula start with a parenthes.
     * Worksheet.Dimension returned an invalid range in some cases.
     * Rowheight was wrong in some cases.
     * ExcelSeries.Header had an incorrect validation check.

     New features 4.0

     Replaced Packaging API with DotNetZip
     * This will remove any problems with Isolated Storage and enable multithreading

     New Cell store
     * Less memory consumption
     * Insert columns (not on the range level)
     * Faster row inserts,

     Formula Parser
     * Calculates all formulas in a workbook, a worksheet or in a specified range
     * 100+ functions implemented
     * Access via Calculate methods on Workbook, Worksheet and Range objects.
     * Add custom/missing Excel functions via Workbook. FormulaParserManager.
     * Samples added to the EPPlusSamples project.

     The formula parser does not support Array Formulas
     * Intersect operator (Space)
     * References to external workbooks
     * And probably a whole lot of other stuff as well :)

     *Of course the performance of the formula parser is nowhere near Excels. Our focus has been functionality.

     Agile Encryption (Office 2012-)
     * Support for newer type of encryption.

     Minor new features
     * Chart worksheets
     * New Chart Types Bubblecharts
     * Radar Charts
     * Area Charts
     * And lots of bug fixes...

     Beta 2 Changes
     * Fixed bug when using RepeatColumns & RepeatRows at the same time.
* VBA project will be left untouched if it’s not accessed.
* Fixed problem with strings on save.
* Added locks to the cell store for access by multiple threads.
* Implemented Indirect function
* Used DisplayNameAttribute to generate column headers from LoadFromCollection
* Rewrote ExcelRangeBase.Copy function.
* Added caching to Save ZipStream for Cells and shared strings to speed up the Save method.
* Added Missing InsertColumn and DeleteColumn
* Added pull request to support Date1904
* Added pull request ExcelWorksheet. LoadFromDataReader

Release Candidate changes
* Fixed some problems with Range.Copy Function
* InsertColumn and Delete column didn't work in some cases
* Chart.DisplayBlankAs had the wrong default type in Excel 2010+
* Datavalidation list overflow caused corruption of the package
* Fixed a few Calculation when referring ranges (for example If function)
* Added ChartAxis.DisplayUnit
* Fixed a bug related to shared formulas
* Named styles failed in some cases.
* Style.Indent got an invalid value in some cases.
* Fixed a problem with AutofitColumns method.
* Performance fix.
* A whole lot of other small fixes.

Showing the top 10 GitHub repositories that depend on EPPlus:

Repository Stars
The most popular open source ecommerce shopping cart solution based on ASP.NET Core
DotnetSpider, a .NET Standard web crawling library. It is lightweight, efficient and fast high-level web crawling & scraping framework
Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
A modular static content and static site generator.
Free and Open Source Ecommerce Shopping Cart solution based on ASP.NET CORE and MongoDB
NetModular 是基于.Net Core 和 Vue.js 的模块化以及前后端分离的快速开发框架
XGBoost Feature Interactions & Importance
Scripts and tools for Office 365 and SharePoint - More for IT Pro's

Read more about the GitHub Usage information on our documentation.

Version History

Version Downloads Last updated
5.0.1-beta 726 2/11/2020
5.0.0-beta 1,054 1/30/2020 55,613 1/30/2020 1,615,743 6/16/2019 1,492,257 2/3/2019
4.5.3 311,910 1/6/2019 2,080,550 5/30/2018
4.5.2 67,927 5/24/2018
4.5.1 452,299 3/25/2018 9,441 3/5/2018 21,110 2/4/2018 43,692 11/28/2017
4.5.0-beta 15,448 11/12/2017
4.1.1 1,358,757 10/8/2017
4.1.0 2,790,201 7/14/2016
4.0.5 1,096,840 1/8/2016
4.0.4 804,044 4/24/2015
4.0.3 167,697 2/12/2015
4.0.2 63,460 1/14/2015 63,444 11/30/2014
4.0.0-rc1 3,893 11/11/2014
4.0.0-beta2 19,172 4/18/2014 628,612 4/14/2013 8,143 4/14/2013
3.1.3 53,347 4/14/2013
3.1.2 72,119 11/6/2012
3.1.1 15,833 9/26/2012
3.1.0-beta 2,064 7/22/2012 59,856 2/1/2012 2,301 2/1/2012 13,560 6/2/2011 14,571 3/3/2011