Excel and .net

I have a few Excel Add-in type tools in development on my laptop. These are written in VBA, VB6, C# and C++. I use them regularly on client assignments, but they are far too rough for more general release.

I hung back from the C++ option for years because there is quite a significant learning curve. I focussed on C# instead in the expectation that .net would overtake these ‘legacy’ technologies. I would class that as a massive strategic blunder (on my behalf), and have invested tons in C++ more recently to catch up.

Still now after the release of Excel 2007, xlls (ie C/C++ or Delphi) are the Microsoft recommended technology for Excel add-ins.

Its like the Visual Studio .net train left the station ages ago, and the Office folks are still at the ticket booth choosing what ticket type and what destination. VSTO seems to offer some promise of putting this right, I look forward to delivering working systems to clients with it, sometime around 2011 probably.

Like many software developers I have a dream to release software for sale on t’interweb and work from home in my jarmies. I went to a shareware conference about that a few months ago which was excellent. One very interesting point was the tools people were using roughly (by show of hands):

  • 50% delphi
  • 40% C++
  • 5% .net
  • 5% other

I was surprised somehow at .nets poor showing, even though I have reservations about using it myself. The general view at the conference was that .net is great for corporate developers, but that Microsoft currently offers no development tools for software vendors targetting broader hetrogeous client systems. Would you agree with that?

It seems from comments on the last post most people would agree with that assessment, and would recommend either 10 year old tech (VB6) or non MS (Delphi) over .net. I can’t help thinking our little corner of the market has fallen through the cracks in Microsofts market segmentation. That puts those of us wanting to extend Excel in a difficult place (either by accident or deliberate).

It looks like the .net dev opportunities are likely to be in the Excel Services world, rather than client development. That is a new and therefore risky market in my mind.

So my summary is:

.net is great for server dev work and for corporate dev work (after they have committed to the frameworks), not so hot for desktop work that targets varied clients. For that just the old tech is any good. Why is that? (is the desktop dead?)



10 Responses to “Excel and .net”

  1. Dennis Wallentin Says:

    Hi Simon,

    I’m not surprised that Delphi is the favourite tool. I still use Delphi 5.0 when developing small applications to Windows. With small application I mean around 20 – 50 kb exe files without the need of 8 MB systemsfiles that VB 6.0 solutions requires.

    One of my main arguments to use VSTO is that the enviroment is 100 % controled which only large corporates can manage to have.

    As for managed COM add-ins created with C#/VB.NET the only way to handle mixed versions of the Office suite is to use version neutral PIAs.

    I’m only aware of one development tool that offer this and it’s Add-In Express (http://xldennis.wordpress.com/2007/04/17/add-in-express-2007-for-microsoft-net/)

    Kind regards,

  2. Marcus Says:

    Thanks for the feedback Dennis. Have you (or anyone else) used Delphi to develop a COM add-in for Excel?

    I had a look at the ‘Add-In Express’ site some time ago but could find enough resources, or anyone who had used it successfully, to commit.

    An interesting point from your stats, Simon is that Delphi ranks higher than VB6 (which I assume is in the 5% Other basket) even though most respondents in your last post – including myself – would have opted for VB6.

    All the Excel add-ins I develop (which is about 50 – 60% of my work) are xla’s or VB6 COM.

    Can anyone enlighten me on what benefits Delphi has over VB6 in developing COM Add-Ins?

    Cheers – Marcus

  3. Dennis Wallentin Says:


    In the past I did try do develop COM add-ins with Delphi but never managed to get it up & running. I asked some questions in a forum and the answers I got was to use VB6…

    Kind regards,

  4. sam Says:

    l …. How about COM Addins developed in the Developer version of Office (up to XP)

    Would it not have been much simpler to have a developer version of office in Office 2003 and above…


  5. Jon Peltier Says:

    “Would it not have been much simpler to have a developer version of office in Office 2003 and above…”

    That goes against the way MS wants us to program. They want us to think VSTO is the developer version of Office.

  6. Simon Says:

    Marcus – This was peole selling software apps on the internet, not consulting type stuff which I suspect most of us do.
    There was one guy there making a very healthy living from some COM add-ins which he quietly admitted were VB6. No one else admitted to using it as I remember, sadly I didn’t take proper notes so I could be wrong. There is another one in Nov that I hope to go to (client solvency permitting!!).
    You could always write a thin VB6 COM wrapper around a native DLL written in Delphi. Or there is probably a component you can buy (the Delphi component marketplace is quite lively) to take the pain away.
    Sam and Jon I agree, I don’t think developer and Office can go in the same sentence at MS these days. Office = Ribbon/novice. Developer = Visual Studio.

  7. Marcus Says:

    Thanks for that feedback Dennis.

    I also emailed ‘Add-In Express’ (ages ago) asking about both versions (Delphi & .Net). Their response encouraged me to use the .Net version over the Delphi one.

    Regards – Marcus

  8. Al Gill Says:

    I’m fascinated by the ‘healthy living’ from COM add-ins. [Plus not having to suffer a train into London Bridge and camp out on client sites would be nice.]

    While small groups of developers could pool their resources to deploy it was something else that put me off the ‘used add-in’ on the internet salesman ploy. Specifically, I’ve been told by what should be a reliable source that Gavin Potter’s spreadsheet auditing tool never made that much money – and surely this should be one of the most successful add-ins? Anybody know better? How much due-diligence did you do on your VB6 developer Simon?

    Re choice of tool, does anybody else have experience of the client dictating the technology? We had a (banking) client last year that wanted a monte carlo. First thought was @Risk driven by some flavour of VB and an Excel front-end……but the client insisted they wanted VBA because the analysts in their team could (sort of) write VBA and they wouldn’t have to depend on another group for support. It was a great ‘learning experience’ for optimising VBA but the client solution really sucked – but if that’s what the client really wants then…….

    PS Is there any one of us who does NOT wander round with a memory stick of our old code and a toolkit of useful stuff we’ve bolted together?

  9. Simon Says:

    I was under the impression the finances were pretty healthy (that is an xla though not COM). You could always spend a couple of quid at companies house to check

    The healthy living I was referring to here is actually an Outlook tool, and I can’t remember what it did.

    Client dictates suboptimal technology – oh yes had that lots, memory sticks of tat, oh yes carry lots (7 USB storage devices I counted in my bag the other day)

  10. Al Gill Says:

    True – although I have a fairly cynical attitude to how people run revenue through companies / individuals / whatever. Interesting job for a rainy afternoon though……

    ‘Memory sticks of tat’ – you’ve seen my code then ;-)

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: