I totally spaced on when this article came out and the fact that I responded to it previously :hehe:
One thing I didn't mention then that is helpful to communicate is that, based on my experience, the one catch to writing Excel files programmatically is that you have to pay attention to how you setup the styles of your cells. If you follow this example, individual cells style properties are being set. While this does work just fine, Excel does have a limit on how many unique styles can be in a workbook (64,000 for Excel 2010) and in the code example, each one of those cells would have their own style. By setting the individual cell styles, each cell style is considered unique and saved in the file separately for each cell, even if you set the properties exactly the same. If there is a worksheet with 7,000 rows with 8 columns, this will cause the worksheet to have 56,000 styles, causing the Excel file to be VERY large.
Instead, create style objects within the worksheet apply it to those cells. Those cells will used that shared style and only one style is saved to the file, saving quite a bit of space. I don't know if EPPlus supports this (would expect that it should), but ExcelWriter does. It does require additional coding and being organized on how you reference and apply styles, but it saves a lot of headache down the road. Your files will be much smaller in size and won't run into errors when producing a large data output.
Also, it is important to note that if you use worksheet styles and apply them to the cells, but then you change a cell style property after that, that cell style will become unique.
Excel 2010 Specifications and Limits Source: https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3