Excel BIFF plugin



Some time ago, I wrote:
X. Early (non OLE) XLS files, not for 1.0

I understand that these files can still be created today, and that there
might be many millions of them out there. I don't know how seamlessly
they load them into Excel XP, but presumably it can salvage at least the
data (text, grid of float values) and simple formulae.

On Fri, Dec 14, 2001 at 11:12:28AM -0500, Jody Goldberg wrote:
Doing this is not impossible, but there are lots of other things to
work on first.  Consider it an available project.

I have built an experimental Excel 2.1, 3.0, 4.0 BIFF plugin. Right now
it will take any XLS that pre-dates the OLE support currently in Gnumeric
and put the following into the Gnumeric workbook:

* LABEL (strings)
* NUMBER, INTEGER and RK (numeric values)
* FORMULA (pre-calculated values only, not actual formulae)

The level of functionality I'm contemplating would not in any way rival
the Excel 5.0 / 97 / 2000+ import code, even though by Excel 4.0 most of
the formulae, style, and graphing was in place. I just want to preserve
most of the valuable information people have locked up in XLS files from
the early to mid 1990s.

There is an alternative. The similarity of Excel 2.1 BIFF with Excel 2000
BIFF is eerie, they're quite closely related in fact. It might be possible
to re-use ALL the modern BIFF support with the old files. However this
would require re-architecting the existing Excel plug-in and in places
where the OLE and pre-OLE worlds differ violently there would be a lot of
potential to break old files when "improving" the Excel plug-in.

So I would like to ask permission to commit the sin of duplicating code,
by creating a BIFF plug-in some part (maybe even 50%) of which is pasted
from the existing Excel plugin OLE/BIFF parser rather than attempting to
stitch the two together. I don't think it's in the interests of the
(forward looking) Excel code to be burdened by the mistakes of Excel 2.1
so I don't want to propose adding if { } else { } blocks throughout
that already complicated code to support my work.

What does the list think? I'd particularly value opinion from people who
have worked on the Excel plug-in and know it better than I do. Maybe
some people think it would be better to write a new BIFF parser from
scratch altogether (as I have done so far) ?

I might lose interest in this work as more pressing concerns arrive again
but I promise to put whatever gets done up on the web and mail this list
the URL before I put down my tools. Even the skeleton which already exists
could be a life saver for getting old data into Gnumeric.

Nick.



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