This is a library for creating xll add-ins for Excel from 97 through 2014. It makes every feature of the latest Excel SDK available to you including the big grid, wide character strings, and asynchronous functions. It is the easiest way to integrate
your C and C++, or even Fortran, code into Excel to achieve the highest possible performance. You can also generate native documentation using the
same tool Microsoft uses for their help files.
If you need a small, fast, portable, and self contained way to extend Excel's functionality, this is the library for you. Just hand someone the xll and chm help file that you create and they are ready to go. No need to figure out what version of .Net they
run, no Primary Interop Assemblies to worry about, no managed code that forces you to marshal data back and forth from Excel. There are also no automagic code generators, no proprietary markup languages to learn, and no wizards that hide things behind your
back. Everything is just pure, modern, and readable C++.
NEW! Check out xllblog for the latest goodies in the pipeline.
Run setup.msi and
project2010.msi . You will need to install
htmlhelp.exe from Microsoft's
HTML Help Workshop to build documentation.
Start Visual Studio 2010. This works with the free version of
Visual C++ 2010 Express
File > New > Project... select XLL AddIn Project.
Right click on your project, Build.
Right click on your project, Debug > Start new instance.
If all goes well, you should see
XLL.FUNCTION show up under
My Category in the Function Wizard. You can set breakpoints by clicking to the left of any line in the source code for
xll_function in the file
To create HTML Help documentation, hit Alt-F8 then run
XLL.DOC. Click on
Help on this function in the Function Wizard to start the help viewer.
You have just created and documented your first Excel add-in. See the
Documentation to learn about all the cool stuff you can do with this library then check out the Related Projects to see examples of how to use this library.
As with any non-trivial endeavor, this library leveraged off of the knowledge of others. I give special thanks to the people who have spent many hours over the years spelunking the deepest caves of the Excel SDK: Govert van Drimmelen, Mark Joshi, Jérôme
LeCompte, Laurent Longre. Kudos to Eric Woodruff for his excellent Sandcastle Help File Builder that made it possible to carve out the subset of Sandcastle used here. My sincere apologies to anyone I've neglected to mention.
'Previously, we used VBA but it was so slow - by more than 70%!' - Ki-Hwan Bae
'Thanks again for the awesome library! I've been testing out a couple different methods/libraries for creating an Excel add-in, and so far using the XLL approach paired with your library is my favorite because it gives you all the low level access without
hiding everything behind magic button code generators (like all the commercial products I've tested out seem to) while keeping the C++ complexity in check with the nice wrapper utility classes.'
- Colin Rodriguez
'Thank you. I need high performance computing as well. I saw a lot of in-memory copying in XLW which makes me wary.' - Candy Chiu
'I decided to install based, in part, on your completely appropriate rants against those that
[sic] waste your time by asking for C++ debugging. Well, here's my rant against developers that
[sic] leave 1/2 baked webpages and do the same to the public. Get your act together, man, and drop the hypocritical, holier than thou, stuck up attitude'