Whereas most of today’s software tools follow the “bigger is better” philosophy, Savvysoft’s TurboExcel proves the adage that great things really do come in small packages.
TurboExcel converts Excel spreadsheet code into executable C++ code. Consequently, TurboExcel is but a few megabytes in size, making it easy to overlook without due consideration.
Once you’ve used TurboExcel, you may find that you simply can’t be without it. TurboExcel gives Excel developers the means to turn their favourite algorithms into portable DLL files by transforming Excel into a software development environment.
Development in Excel
After installing TurboExcel, three new buttons appear on the Excel toolbar. The first is an icon for the newly installed product. To its right, the TurboExcel Configuration button opens a dialogue to manage the details of the generated DLL and the function it will contain.
Another textbox in the dialogue specifies the output range and data type. A TurboExcel-created function can produce either a single value or an array, with the sole restriction that an array must cor- respond to a contiguous array of cells.
Once you’ve entered all the configuration information, one click on the TurboExcel builder button converts the spreadsheet into C++ code, launches the compiler, and builds a native DLL file. It also creates the appropriate XLL file, which provides the necessary glue logic for using the DLL as an Excel add-in.
TurboExcel also saves the configuration input in a separate location in the spreadsheet. This makes it easy to cycle quickly through multiple compilations as you’re working the kinks out of your formula. You don’t have to keep re-entering the information in the configuration dialogue; TurboExcel remembers it for you.
After you’ve verified the converted function works correctly, you re-import it into the original spreadsheet as an add-in function. Because the function is now in a DLL, it can be called from any app that calls into DLLs.
Excel as IDE
TurboExcel basically turns Excel into a miniature programming environment. Some cells are inputs, others are outputs, and still others comprise the execution logic of your single-function “application.”
Excel used as an IDE might be useful, cells filled with numbers and formulae leave something to be desired as a complete programming language. It is cumbersome, if not impossible, to coax looping and decision structures from such a limited environment.
Here, VBA (Visual Basic for Applications) comes to the rescue. TurboExcel can also turn VBA into executable C++. Unfortunately, the TurboExcel documentation lists numerous limitations. For example, although you can convert functions, you cannot convert subs.
Currently, code produced by TurboExcel only runs on Windows. However, I was told by company officials that the generated code only employs a pair of Win32-specific calls that could easily be replaced with Unix-equivalents.
If TurboExcel does provide cross-compilation to Unix platforms, then it might be possible to create native add-ins for Linux spreadsheets such as StarOffice.
TurboExcel performs its duty with laser-beam accuracy, but the price is lofty. The Personal Edition is $999 and allows you to run generated code only on the machine that created it. If you want to run the generated code on any machine, you’ll need to purchase the Professional Edition for $2,999.
Grehan is a contributing editor at InfoWorld.
Quick Link: 054478