A few options I have used:
If XLSX is a must: ExcelPackageExcelPackage is a good start but died off when the developer quit working on it. ExML picked up from there and added a few features. ExMLExML isn't a bad option, I'm still using it in a couple of production websites.
For all of my new projects, though, I'm using NPOINPOI, the .NET port of Apache POIApache POI. NPOI 2.0 (Alpha)NPOI 2.0 (Alpha) also supports XLSX.