Limits of Excel Support


Excel is an extremely powerful tool to handle spreadsheets, and has many features that would not normally affect terminology data. The converter supports a subset of these functions, and for various reasons that subset changes.

At first, support was via the APIs of Microsoft Excel. This turned out to be unreliable, and a lot of support cases concerned broken connections to Excel. It also requires Excel to be installed, and was rather slow, especially when formatting the output.

To overcome these problems, spreadsheet handling was ported to use the NPOI library, an excellent open source project that supports pretty much everything the Excel API can do. Very stable it is, too. But recently, the project got a bit out of control: It included more and more dependencies, until about 2/3 of the deployment was just for NPOI support. At the same time I started investigations on performance, which made much of NPOI redundant. The nail in the coffin was a release that had technical requirements that are incompatible with Trados modules. No support for MultiTerm and Studio, or no support for hide data in spreadsheets? NPOI had to go.

The next generation of spreadsheet support uses the small and fast ExcelDataReader library to read xlsx and xls, and  home-cooked modules to read txt/csv. Data is now also written by self-made code, with bits and pieces ripped from an ancient xls library. The performance gain is considerable. On the other hand, it's the first time that existing features have been dropped. If you really need them, a stable legacy release of 6.3 will remain available.

Unsupported Features since 6.4

  • Formulas may no longer be resolved. You may see the formula instead of the displayed result. I can't reproduce any more, but there definitely was a confirmed user report at some point.
  • Hidden sheets/rows/columns are always processed. Although it's debatable if this shouldn't be the default behaviour anyway..

Size Limits

Just to a reminder: xlsx files are limited to 1,048,575 rows, and xls files to 65,535 rows. These are official limits set by Excel, not the converter.

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator