November 28, 2001 by Charles Wyble
This document is meant to
be a RFC (Request For Comments). Nothing
described in here is final, everything can and should be discussed.
The reason for writing this
document is that several projects
are working on reading and/or writing Excel files. By having several
projects doing the same thing, much work is duplicated. If the developers
of these various projects joined forces, much time and effort could
be saved.
I think that the best way
to join forces, would be to create
an open-source library. This paper, will discuss various steps
and ideas on how to go about creating that library.
Part 1: Design
Step 1:
Contact developers of various
projects who are working on
code to read and/or write Excel files. Ask them if they would
be interested in helping develop the library.
Step 2:
Decide which programming
language to use for developing
the library.
I think that C would be
the best choice. The reasons for
this are:
1. A lot of code already
exists to read and/or write Excel files.
2. The majority of programmers
understand how to code in C, or
a language
based on C (C++/Java etc).
3. C is a fast machine independent
language.
Step 3:
Write an API spec for the
library.
Part 2: Documenting the Excel file format
Documentation on the Excel file format is available
from several sources:
The OpenOffice StarCalc team,
has created an excellent
document on the file format. It is available in pdf and xml
format from http://sc.openoffice.org
Members of the Excel SDK
news group, frequently discuss
matters related to the file format. A web based interface
to the newsgroup can be found at http://www.deja.com.
Simply type microsoft.public.excel.sdk in the search box.
Microsoft documents the Excel
97 file format, in
the Excel 97 SDK. There are several errors and omissions,
corrections can be found at http://msdn.microsoft.com/library.
Simply enter BIFF in the search box.
Microsoft also licenses the
file file format information
for Excel 2000/2002(XP), but the license agreement is very
restrictive. You can't use the information to help develop
an Excel file converter.
Part 3: Begin Coding
What happens in this phase,
will depend on what happens in
phase one. Especially steps 2 and 3 of that phase.
-- God Bless Charles Wyble jackshck yahoo com