BIFF loader source



I proposed during the run-up to Gnumeric 1.0 that a plug-in could be built
that loaded the old Excel 2.1, 3.0, and 4.0 file formats, using parts
scavenged from the existing Excel loader and plenty of glue.

An early working version is now available (Hackers only, the Gnumeric code
does not make it at all easy to distribute plug-ins separately, so this
code needs to be dumped into a working CVS or tarball source tree) and I
cannot guarantee that I'll even *look* at this code for the next few weeks
so please don't bury me in support mail.

http://www.ecs.soton.ac.uk/~njl98r/code/

It would be nice if someone found time to put this into CVS, I don't know
how Jody feels about adding new plug-ins to the 1.0.x tree, but I do hope
this can at least go into the prospective 1.1 or 2.0 when that happens.

Features:

0. Does not interfere with existing Excel code, only files which are
explicitly Excel BIFF files will be accepted by it.

1. Users no longer need to know if their XL files are the "right" format,
especially important for dusty but useful sheets found on the web.

2. Version-sensitive BIFF parser handles earlier, shorter, versions of
many record types (better than the "real" Excel plugin IMHO)

3. Integers (Excel 2.1 only!) floats, RKs, error types, and most other
kinds of Value are loaded and displayed correctly.

4. Formulae are preserved to the best of my ability. Most commonly used
operators and functions should work perfectly.

Mis-features:

0. Mixed style. This code is even less tidy than that in the Excel code.

1. Verbose debug, needs trimming (more #ifdefs ?) if this code gets used
by Joe Average and for performance reasons of course.

2. No style code. No charts. No embedded video. Just the numbers, the
structure and the formulae that (hopefully) are the vital bits.

3. Various obtuse things will not work or set your PC on fire, this has
been tested on more Excel 4.0 (or earlier) files than most people will
ever see, and it doesn't crash but...

Have fun!

Nick.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]