C# Excel® add-ins using Govert van Drimmelen's Excel-DNA

Out-of-the-box, C# Excel® add-ins that can be run without the need for any administrator (or local administrator) permissions. Late binding, they add the power of multithreaded, .Net programs to most Excel® spreadsheet versions. And, if used with my free ticker viewers, you can create a company-wide dashboard from just 5!

Use my multithreaded add-ins for:
  • Creating rapid, tactical solutions to fix cloud-based problems and provide emergency back-up
  • Modelling, developing and testing large, data infrastructure projects
  • Hosting your own web pages directly from your Excel® spreadsheet
  • Proving concepts and functionality that other departments say are impossible


Working within large organizations over the last 30 years, my IT support contracts have satiated the increasing demands to automate the control of servers and services. This has been accompanied by an increasing requirement to pass timely, status information to users and up the management chain.

To achieve the former I developed numerous, targeted scripts and applications for the servers. For the latter, I built web-sites and applications for the users. To make them work across networks I had to liaise with network teams. To enable them to work for users without admin (or local admin) rights, I had to liaise with desktop support teams.

Not too bad, but add numerous meetings about the format, then add the delays of change control and permissioning, and even a short project turns into a marathon, and the ability to provide quick solutions to acute problems becomes almost impossible.

Spreadsheets alleviate some of these problems:
  • A familiar/configurable format
  • Flexibility for modifying the application for specific, local requirements
  • Built-in graphical and statistical tools
  • Acts as a simple API to pass data to other sheets, applications and servers
But this limits us to macros with VBA (Visual Basic for Applications) and the restrictions of slowing/stopping spreadsheet operations whilst the VBA scripts run. Adding calls to outside programs can help, but this makes the whole package brittle. And we still have the problems of approval and permissioning.

However, whilst writing some COM compliant C# programs, Govert van Drimmelen's Excel-DNA came up on the radar. His Excel-DNA Dynamic Link Library allows Excel® add-ins to work with most Excel® versons; they enable the use of multithreaded, C# programs and they do not need admin privileges to be installed and run (i.e. no desktop support team involvement).

At the same time, I had been working on multicasting data within networks, and had discovered ways to use the temporary links that are the default on most networks to provide continuous, resilient connections (i.e. no network team involvement required).

Also, my work with Excel® charts and graphics became greatly enhanced by the power added by C# image manipulation from within the Excel® environment.

So, if you are a small business with a few PC's and no support team to help you, or you're part of a large organization with "support" teams that just hinder you, my xll add-ins might be exactly what you've been looking for.

Minimal Footprint

My software aligns with Excel-DNA's minimal footprint.

Nothing is written to the registry. Add-ins store their settings in (and get their licence keys from) a common XML file (excelxll.config), located in the same directory as the .xll file. Any driver files specifically required by the add-in are contained within it. Any supporting files are (re)created by the add-ins when they are run, and are held in the same directory (or sub-directories) as the .xll file. This means that you can run everything from a memory stick, or any directory to which you have access.

All my add-ins are full featured even when in evaluation mode. Until a licence is purchased:
  • Graphical add-ins (MAP.xll and PNG.xll) add a watermark
  • HTML.xll randomly delivers an "Under evaluation" page to the browser clients
  • All others must be restarted after 4 hours of use
The licenced versions are tied to your user login. When logged in with a different name, your licenced versions revert to evaluation mode. User licence keys are held in the excelxll.config file, but can also be added to the file name in cases where the configuration file is not required, enabling the add-in to be run from a single file.

All threads started by my applications terminate when the originating Excel® environment is ended.

Thank you!

All of my current add-ins utilize version of Govert van Drimmelen's unmanaged loader shim for Excel-DNA add-ins (Copyright 2005-2014 Govert van Drimmelen).

I fully recognize and appreciate Govert van Drimmelen's efforts, and his generosity in making his software available for commercial use.


All software is provided "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.