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
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.
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
All threads started by my applications terminate when the originating Excel® environment is ended.
All of my current add-ins utilize version 0.32.26.1 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.