Spreadsheet Interface

In A-Shell 6.3.1500, the module AXL ("axle") was added to A-Shell. AXL ("A" from A-Shell and "XL" from Excel or XLS file format) is the licensing and and incorporatation of a third-party library of spreadsheet functions called "LibXL." The purpose of including this library and its extensive tools for spreadsheet generation and manipulation is to make it easier—and in some cases, possible at all—for developers to produce user-friendly spreadsheets for use outside of A-Shell. Spreadsheets may be created by two different means:

CSV2XL:  This is a modestly capable implementation of LibXL which allows developers to take existing CSV files—i.e., those they have already been creating using A-Shell—and convert them into full-blown spreadsheets using fonts, colors, headings, number formats, etc. Since probably 90% of users and 90% of spreadsheets use a fairly small set of spreadsheet functions and capabilities, CSV2XL presents a simple means to generate basic spreadsheets. It incorporates the several most useful functions and ignores the rest of the library. The idea behind CSV2XL is to provide a tool that is limited in scope—i.e., simple to use and master—which meets most of the needs of most of the users most of the time.

AXL:  This is the full function library, packaged appropriately and incorporated into A-Shell. Developers can use LibXL to build spreadsheets with virtually any degree of complexity and using any/all of Excel's vast functionality, and can also read and modify existing spreadsheets. It consists of approximately 125 functions with which developers can specify or change every aspect of a spreadsheet.

Installation Notes

The main requirement for use of the LibXL spreadsheet interface is that the LibXL library be present so that it can be dynamically loaded when needed. The easiest and preferred way to accomplish this is to put the dynamic library in the same directory as the A-Shell executable. Typically this will be handled by the installer, but if you are installing it manually or piecemeal, or trying to debug it, here are the details for each platform:

•   Windows and ATE: The library file is libxl.dll, which just has to be present in A-Shell's bin directory. No registration or other explicit initialization or configuration required.

•   UNIX: The library file name is libxl.so.1, but this is typically a link to the real library file, which is named libxl.so.w.x.y-zzz, where w, x and y identify the library version, e.g. 3.6.5, and -zzz identifies the minimum UNIX kernel version for compatibility, e.g. -el4 indicates that it will work with CentOS/RHEL 4 and above. A typical ls -l listing of your libxl files will look something like this:

$ ls -l libxl*

 

lrwxrwxrwx 1 jack ashell       18 Feb 17 11:20 libxl.so.1 -> libxl.so.3.6.5.el4

 

-r-xr-xr-x 1 jack ashell 31996112 Feb 16 09:15 libxl.so.3.6.5.el4

 

Note that the x (executable) flag must be set. If you have only the libxl.so.w.x.y-zzz file, you can create the libxl.so.1 link as follows:

$ ln -s libxl.so.3.6.5.el4 libxl.so.1

 

For unrestricted operation, you may also need to update your A-Shell license to add the APEX or LIBXL options.