I would recommend checking out Telerik's RadSpreadsheet control (paid for library). Have not used this control but have been using Telerik libraries for over five years and have never been disappointed.
I have a license to all their products, reason for bring this up is that once purchased you install, in this case the RadSpreadsheet via NuGet secure feed via a login within Visual Studio.