I'm sure someone must have heard of
"Visual Studio Tools for Office" ????
http://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office
It's pretty old news by now, and Microsoft started integrating the functionality into later versions of Visual Studio (Necuno up there touched on this)...so when you create a new project in VS...look a bit down under "Other" or "Office" ..
..and no this is more than "Add-ins" (although an Add-In is pretty powerful thing too). I actually went through the same thing where the users WANTED to use Excel and i was not going to sit and write VBA/Macros for the rest of my life. So VSTO allowed me to write full C# .NET code inside Excel, this -includes- manipulating the entire GUI [i.e which menus shows and whatnot] .
An example of what this is like: You would be in Visual Studio and your IDE front end would literally be an Excel Sheet instead of a Windows/Web Form...
The catch is, the actual Workbook /.XLS is the actual program and depending what you do will compile into a .XLS + .DLLs/Modules and sometimes even an .EXE. It needs the VSTO runtimes [a 2MB installation], which is pretty much like installing Flash/Silverlight or something on a PC. Obviously they can't simply email the sheet around without the person on the other end having the same runtimes etc etc.
What i did was coding a new panel [that annoying panel on the right] , which allows connection to a database, selecting some options and generating pivot charts/reports right there...all nicely C# code.
In hindsight i could've created a whole new .NET front end [seperately] which just launched excel and did the same thing, but VSTO actually does have some nifty tools which is not available otherwise, simply because Excel is the front end already..
...that said the advantage of using .NET code meant i could re-use the same code -outside- Excel, if users ever felt they want to do the same thing via the web [as an example] then i do not have to completely rewrite the code..