EPPlus 4.0.4

Rating:        Based on 25 ratings
Reviewed:  22 reviews
Downloads: 71514
Change Set: 6aec320281a6
Released: Apr 24, 2015
Updated: Apr 24, 2015 by JanKallman
Dev status: Stable Help Icon

Recommended Download

Application EPPlus 4.0.4
application, 600K, uploaded Apr 24 - 45864 downloads

Other Available Downloads

Example EPPlus 4.0.4 with sample
example, 690K, uploaded Apr 24 - 16523 downloads
Documentation EPPlus 4.0 Documenation (Chm)
documentation, 5588K, uploaded Nov 30, 2014 - 9127 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
    • Bubblecharts
    • 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 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 bugs, when refering ranges (for example in the If function)
  • 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 inheritence
  • And alot of other smal fixes



Reviews for this release

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
I was getting the System.IO.IsolatedStorage.IsolatedStorageException error on one of the 500 files I was generating, but Version 4.0 beta solved the problem. The only issue I see so far is that "column autofit" does not appear to be working as well as it did in version 3.1.
by JoeThePimpernel on Apr 3, 2014 at 1:40 PM
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 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 at 11:53 AM
Great library, with world's poorest documentation I've seen, ever.
by fwd079 on Sep 29 at 2:49 PM
Not much to say other than it deserves 5 stars. Excellent package.
by ebeiler on Sep 2 at 11:34 PM
Great API to work with. Really enjoy the improvement experience comparing to working with NPOI!
by trailmax on Jul 20 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 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 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 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 at 4:29 PM
Excellent library!
by PeteSJ on Mar 14 at 12:56 AM
This is great!
by fferegrino on Mar 4 at 6:55 PM
This is so easy and great tool
by Smijith on Feb 14 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