This project has moved and is read-only. For the latest updates, please go here.

EPPlus 4.0.5

Rating:        Based on 33 ratings
Reviewed:  28 reviews
Downloads: 115938
Change Set: 67a4ca04a276
Released: Jan 8, 2016
Updated: Jul 14, 2016 by JanKallman
Dev status: Stable Help Icon

Recommended Download

Application EPPlus 4.0.5
application, 598K, uploaded Jan 8, 2016 - 76194 downloads

Other Available Downloads

Example EPPlus 4.0.5 with sample
example, 689K, uploaded Jan 8, 2016 - 25070 downloads
Documentation EPPlus 4.0 Documenation (Chm)
documentation, 5588K, uploaded Nov 30, 2014 - 14674 downloads

Release Notes

EPPlus-Create Advanced Excel spreadsheet.

EPPlus is also available via Nuget

New features

Replaced Packaging API with DotNetZip

This will remove any problems with Isolated Storage and enable multi threading

New Cell store

  • Less memory consumtion
  • 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
    • Bubble charts
    • Radar charts
    • Area charts
    • And lots of bugfixes...

Beta 2 Changes

  • Fixed bug when using RepeatColumns & RepeatRows at the same time.
  • VBA project will be left untouched if its not accessed.
  • Fixed problem with strings on save.
  • Added locks to the cellstore for access by mulitple 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 Candidare 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 cauesed corruption of the package
  • Fixed a few Calculation when refering ranges (for example If) function and some
  • Added ChartAxis.DisplayUnit
  • Fixed a bug related to shared formulas
  • Named styles faild in some cases.
  • Style.Indent got an invalid value in some cases.
  • Fixed a problem with AutofitColumns method.
  • Performance fix.
  • An a whole lot 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 hanges 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.

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 inheritance
  • And lots of other small fixes



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 for more details

Reviews for this release

I found a pretty good EPPlus tutorial on SQL Server Central:
by JoeThePimpernel on Jan 28, 2016 at 7:40 PM
This tools works very well for our application. With 3.1 we were hanging when generating big spreadsheets. With 4.0 Beta this is no longer the case. We hope this release will go live very soon.
by rdtOregon on Jun 20, 2014 at 6:29 PM
I have been using EPPlus for creating large excel sheets. I find that version 4.x is much faster and less memory consumption than version 3.x. I hope the final version of 4 will be released some time soon :)
by ikyriakidis on Apr 22, 2014 at 1:53 PM
Updated the library on an existing script with no modifications. The script used to take several hours and with the beta version finished in 2 minutes.
by Tom_Z on Apr 3, 2014 at 7:06 PM
Can't say anything bad since it does what it says, and it's free. Great Job devs and thank you very much.
by bmaximus on May 30, 2016 at 7:50 AM
It works like a charm!
by ddkongbb on Apr 22, 2016 at 8:24 AM
Great library! Excellent!
by GeoBx on Feb 22, 2016 at 7:34 AM
I've been using this for an independent project on Mac OS and Linux and it's been the only Excel library that "just works". I tried two other libraries (whose names I won't mention) that didn't work well or at all with Mono, but this library works fine. I have yet to do anything with 1000+ rows in a spreadsheet, but I've been building spreadsheets with several hundred rows and everything seems good so far. I have just been using strings in the cells and haven't messed much with formulas, so my review doesn't reflect those features. But I've had cells with 50+ lines of text within them and it saves and loads everything fine. It doesn't mangle the formatting or remove line breaks or anything like that. As others have mentioned, documentation could use a little work and a few things are counterintuitive and may be actual bugs. For example, inserting a new row will move cell contents down appropriately, but cell comments will not move with them. Things like this don't match Excel functionality exactly. Overall because this library just works for basic spreadsheet stuff, I'm giving it a 4/5 review. I could not find any other C# library that matches it and works through Mono.
by evanolds on Jan 25, 2016 at 7:50 PM
After searching around I found this library. Very powerful and stable. Easy to use and very helpful documentation. I am sorry I don't have paypal but I had to take the extra trouble registering at codeplex just to say THANK YOU!!!!
by mchibaka on Jan 2, 2016 at 9:42 AM
You cannot go for large records 50K+. It has serous memory usage. Memory will not come down after file generation also. For smaller files good and simple to handle.
by lijojohn11 on Nov 27, 2015 at 11:15 AM
Read 50 forum post for guidance on the best way to create a spreadsheet from a .NET / C# application and you will likely find 50 ways of doing it with VS / SSIS. Then proceed to create a bunch of packages, set up variables, write config files, secure the file location where you're keeping all this stuff, etc. etc. OR, use EPPlus, make a simple ADO call to a sproc to get a datatable and write about 25 lines of code to accomplish the same thing. EPPlus is awesome.
by GBiggs on Nov 14, 2015 at 12:58 PM
Its an okay library, good for inputting alphanumeric data. But documentation is HORRIBLE and FAQ are bit of a joke. Adding a picture to Excel is a nightmare with close to zero explanation on ExcelPicture class and its members.
by FawadRazaMitie on Oct 22, 2015 at 11:53 AM
Great library, with world's poorest documentation I've seen, ever.
by fwd079 on Sep 29, 2015 at 2:49 PM
Not much to say other than it deserves 5 stars. Excellent package.
by ebeiler on Sep 2, 2015 at 11:34 PM
Great API to work with. Really enjoy the improvement experience comparing to working with NPOI!
by trailmax on Jul 20, 2015 at 5:40 PM
One of the best libraries i've used so far. Sleek, powerful, intuitive and fast working, both on client and server-side. One DLL, and you get full power of Excel in your hands.
by andrevasj on Jul 1, 2015 at 10:12 AM
I guess the 1st library which works on the first run ! Couldn't believe it. It was pretty simple thing to do but anyway it worked nice and easy right out from the box. Awesome, my client couldn't believe how fast I came up with a solution.
by Corobori on Jun 4, 2015 at 5:43 PM
Nice library. Was able to replace the microsoft interop library quickly and easily with this (less than half a day). Good model, great examples made integration easy.
by ogradyt on May 16, 2015 at 9:11 PM
Wow, I'm impressed. It took very little time to convert my application from using EXCEL to using epplus. My code more readable now and the output spreadsheets work exactly the same. This is awesome!
by NCMikeD on Apr 24, 2015 at 4:29 PM
Excellent library!
by PeteSJ on Mar 14, 2015 at 12:56 AM
This is great!
by fferegrino on Mar 4, 2015 at 6:55 PM
This is so easy and great tool
by Smijith on Feb 14, 2015 at 5:28 PM
I am facing one problem with this version. When I am using the excel range base like this: ws.Cells[2, i + 1, rowCount + 1, i + 1] it give me the range but remove the empty columns. Please review this issue I need this as soon as possible.
by harshkaushal on Dec 4, 2014 at 3:52 AM
When I want to add data table to existing sheet in excel, I am getting "An item with the same key has already been added." error in this version. But In verison 3.1, it was OK.
by benjcev on Nov 7, 2014 at 8:32 AM
The beta 2 release fixed the problem with "Unable to create mutex. (Exception from HRESULT: 0x80131464)" we were having with 3.1. Looks good to me!
by hawkeye3677 on Nov 6, 2014 at 5:19 PM
The tool works very well , expect that we are not able to successfully fire VLOOKUPs existing in the workbook. Our use case requires us to change cells in a predefined workbook and fire a formula refresh. The users have defined VLOOKUPs and we get back #VALUE as result for the lookups.
by PralayAhluwalia on Aug 25, 2014 at 10:19 AM
such a great library! Thank you!
by Xenolith on Aug 14, 2014 at 10:19 AM
I've done a simple test of inserting about 6 million records in a single worksheet. (150000 rows by 50 columns). Ver 4.0 had memory consumption of about 450MB and needed 288 sec to build and save the test case. Ver 3.1 had memory consumption of about 1100MB and it took 174 sec to build and save the test case. So, huge improvment on memory utilisation, and worse performance in the packaging stage.
by aKocen on Mar 26, 2014 at 8:50 AM