Can excel-dna provide Tsunami like features?

May 10, 2013 at 2:07 AM
Excel-dna is already able to load .net source files and expose functions it finds within to excel.
I'm guessing all the pieces are there to be able to provide and environment like the VBA IDE. where one can extend excel at run-time. A lot of noise is already made about Tsunami IDE. But I think Excel-dna user base is bigger, and the open source-spirit is better.
Is provide IDE like features on Excel-dna road map? I'm gussing people will migrate slowly to Tsunami if not. specially corporations.
May 10, 2013 at 6:17 AM

Excel-DNA already provides both a lightweight text-file based mechanism for add-ins, as well as a great story for distribution of full-featured compiled add-ins. With the right configuration, you can already set up a code file that you can edit in any editor, and it will be recompiled on the fly when the add-in is reloaded. Unfortunately I'm a bit slow in documenting all these options.

There are a number of free IDE alternatives, including Visual Studio Express and SharpDevelop. My preferred approach would be to make the integration with these better. The NuGet package already makes it pretty easy to get started with a new add-in using Visual Studio. It would be nice if the F# support in SharpDevelop were better, though.

So I'm happy to think about improved integration with existing IDE and script-like tools like scriptcs tools.

What is the workflow that you would prefer, and what tools do you currently use?
Would you be able to help make Excel-DNA better?

May 12, 2013 at 11:06 AM
Hi Govert,
Thank you so much for taking the time to answer.
The difference relies in the development process. with VBA IDE one can code functions or subroutines and without restarting excel, one can already see these functions accessible on the worksheet. The code modules become part of the workbook and are encapsulated.
I agree with you that this is not really add-in development per se, but rather extending spreadsheets on the fly,But most of VBA code around is in the form of code modules, user forms, utilities functions directly input in workbooks.

If we have a mechanism for extending spreadsheets with code modules, that are recognized on the fly, then there will be no need for vba anymore. And one can customize spreadsheet applications using powerfull .NET features rather than relying on outdated technology.
May 12, 2013 at 11:42 AM

With Excel-DNA you can already make add-ins and load and change them without restarting Excel. There are some features in Excel-DNA that make this work even for compiled .dlls, like being able to load the add-in without locking the .dll file. This means you can make changes, recompile, reload and use the new or changed functions in a single Excel session. Some of this is not well documented, though.

Tying the add-in features to a specific workbook is one big difference between an Excel-DNA add-in and the VBA programming model. There have been some discussions in the past of people trying to make that work with Excel-DNA and with some effort I think it is possible, but certainly not easy or seamless. Maybe to easy porting from VBA that would be something we could implement, but I've not had many request for that, so it has not been a high priority.

To me it already seems quite cool that with Excel-DNA you can make a single-file .xll that contains custom functions, UI extensions and real-time services, that need no registration or installation, and that works with all your workbooks. And as you say, you get to use the powerful .NET features.
Instead of a single workbook file, you might have to distribute an .xll that works with any workbook, and a sample book that shows how to use it. I understand there is some barrier when coming from the VBA side, but maybe it's not really an issue in practice?

May 12, 2013 at 5:16 PM
I should probably dig deeper in Excel-dna to take a look at these hidden gems:).
The only upside I see is the developer experience. I think that's what Tsunami IDE is about. The integrated environment where one can develop and test, combined with Excel-dna ease of deployment features would provide a better development experience imho
May 12, 2013 at 6:26 PM

Please ask if you have specific questions about any of the features I mentioned (though the Google group at is probably better than here).

I think Visual Studio is a fantastic IDE, and SharpDevelop an interesting alternative (though the F# support in SharpDevelop is not great at the moment). Improving the integration between Excel-DNA and these would be a help and something I'll try to push higher on the to-do list.

Thanks for the input.