I have an application built in Excel which transfers arrays of data to S-Plus for manipulation and calculations and fetches results from S-Plus and displays them in Excel.

It uses COM communication to link excel to S-Plus, however this can be quite slow as the arrays I pass have several thousand rows and between 30 and 40 columns.

I am investigating the possibility of having Excel call C++ and then C++ call S+. I am wondering does anyone have any experience with linking Excel to C++?

Thanks in advance,

Yes, and its very very complicated. I doubt you will gain anything by doing that, but will probably slow down the program even more because you are adding yet another layer. Probably C# or VBA would be better languages for that.