Alpha 2 and 3 with graphic export and Apache license

The second and third preview versions (“alphas”) of the XL Toolbox offers basic graphic export features. It is released under the Apache License V. 2.0 rather than the GNU General Public License.

License change

For normal users, the switch of license from the GNU GPL v. 3 to the Apache License V. 2.0 does not make a difference. Both are licenses for free software.

I had to use a non-GPL license because the GPL has a strong copyleft which requires anyone who modifies or ‘conveys’ a GPL-licensed program to make the entire source code available. Since the Toolbox add-in is distributed with closed-source binary runtime files by Microsoft that are required to interact with Excel, releasing the Toolbox NG under the GPL effectively made it impossible for anyone to modify or re-distribute the add-in.

The Apache License does not have the requirement for others to make the entire source code available.

Due to the license change, the Toolbox’ use of the FreeImage library is done under the terms of the FreeImage Public License rather than the GPL.

Sheet manager
Sheet manager

Graphic export

Alpha 2 provides basic graphic export functionality, and hopefully the ‘DLL not found’ errors that some users have experienced using prior versions of the Toolbox will be a thing of the past.

The new implementation of the high-resolution graphic export supports three different modes of transparency:

  • White canvas: The graphic is drawn on a ‘white canvas’, i.e. there is no transparency at all (the result is similar to ‘flattening’ an image).
  • Transparent canvas: The graphic is drawn a ‘transparent canvas’, i.e. the resulting graphic file will have transparent areas where the Excel graphic did not paint anything. Note that charts in Excel by default have no transparent areas, because the chart background is filled with white. You either have to manually change the chart’s background color to ‘none’ prior to exporting, or use the third option:
  • White is transparent: Any white areas in the image will be made transparent.

Clicking on a ribbon button will invoke the export function with the last used settings. Click on the little arrow to the right to open a menu with a command to show the entire export options.

Single-item graphic export
Single-item graphic export

Missing features

A couple of features of earlier versions of the Toolbox are still missing from the graphic export function of Alpha 2:

  • No support for CMYK color space.
  • No support for color profiles.

Furthermore, there is no support for SVG files yet.

Batch graphic export
Batch graphic export
Export presets
Export presets

Internals

Since the release of alpha 1 in August, a lot of changes have been performed ‘under the hood’. The entire project structure was changed; I have put any potentially reusable code in a separate .NET assembly that I call Bovender. In addition, I have learned about the Model–View–View model programming pattern and have re-implemented the add-in using this pattern in order to facilitate maintainability in the future.

Alpha 3

One day after releasing Alpha 2, I noticed a few annoying bugs, most importantly the failure of the installer to properly register the add-in in Excel. This is fixed in Alpha 3.

Download

https://sf.net/projects/xltoolbox/files/alpha

I would appreciate your feedback.


Shaping a new XL Toolbox

Articles in this series:

  1. Shaping a new XL Toolbox
  2. Selecting the right tool for the Toolbox
  3. Introducing first alpha of XL Toolbox NG
  4. Alpha 2 and 3 with graphic export and Apache license