Hi Jing,
Here's the basic status. I'm working with another developer Marc Johnson to
write the OLE Compound Document reader/writer. (Ole Compound document
format is Microsoft's wrapper around Word/Excel/etc docs, its nearly
completely undocumented....see laola and libole2) we've finished the reader,
and I'm doing the writer in my spare time. I expect to have it finished
within three days. From there we'll test and debug using MS Excel (sanity
check).
After that, I've docs on the Excel '97 (BIFF 8) File Format. I do not
anticipate near the amount of challenge there. I'll probably do most of
this work myself as Marc doesn't have the book. I expect to be able to do
simple read/writes in the course of a week to two weeks (I'm working on this
part time for fun or it would be quicker). Formula's and style stuff will
come later.
I plan to implement this as followed (feedback welcomed)
Components:
OleFSApi (80% completed, low level MS Common Document Format implementation)
OleFS (will wrap a high level interface abstracting the client from the
details of the OleFS..blocks,allocation tables, etc)
ExcelAPI (contains low level subroutines for writing Excel binary data
structures)
ExcelWorkbookModel (workbooks contain sheets)
ExcelSheetDataModel (just rows/cols,etc)
ExcelSheetViewModel (contains the formatting info for rows/cols, etc)
CocoonSerializer (and maybe a transformer, I'm not sure)
Currently, Marc is researching the Cocoon part of this. I'm finishing up
the writer and we'll spec out the interfaces between the OleFS/Excel/Cocoon.
All in all I expect to be done in 1-2 mos.
Any particular area of interest (For contributing)? Perhaps one thing that
we could use is the answer to "how would you like to use it". The project
has grown out of my previous contracts (If I only had this then), but my
current contract has nothing to do with it (I'm just doing this for fun)...
So Correct me here..
XML -> StyleSheet1 -> StyleSheet2 -> Cocoon -> CocooonSerializer-> Excel
What should be the XML language. Currently my thoughts are this (for the
final transformed data before it is serialized):
<workbook>
<name>MyWorkbook</name>
<sheet number="1" name="Stuff">
<column-header column="1">Stuff</column-header>
<row number="1">
<column number="1">My Stuff</column>
</row>
<row number="2">
<column number="2"><formula>??formula stuff??</formula></column>
</row>
</sheet>
</workbook>
<stylebook name="sheet1style">
<style>
<name>redtext</name>
<format>text</format>
<bgcolor>Red</format>
<fgcolor>black</format>
</style>
</stylebook>
<workbook-stylesheet>
<apply-style>
<name>sheet1style</name>
<workbook-name>MyWorkbook</workbook-name>
</apply-style>
</workbook-style>
<sheet-stylesheet>
<apply-style>
<name>redtext</name>
<range>
<from>
<row>1</row>
<col>1</col>
</from>
<to>
<row>1</row>
<col>10</col>
</to>
</apply-style>
</sheet-stylesheet>
Obviously this is "draft" and "concept". Obviously I'd need a root element
and a namespace, but you get the picture. Would this be a good way for you?
(I'm trying to keep "formatting stuff" like colors/drawing/etc out of the
sheet)
I haven't decided what to do about formulas at all (whether to come up with
an abstraction or not since most spreadsheets use the about same syntax).
In the end goal the pre-serialized XML should be non-excel specific (meaning
I should be able to plug in a StarOffice spreadsheet serializer without
changing the tag language)..
(And we probably won't actually use "name=" parameter style stuff, but it
was easier to type).
-Andy
>On Tue, 17 Jul 2001 15:33:11 -0400 "Wang, Jing" <[EMAIL PROTECTED]>
wrote.
>Hello, there
>I am very interested in the project that you mentioned in the email. I
>am working on exporting xml file to MS Excel stylesheet, yet Cocoon 2
>currently doesn't not support this format. I would like to know more
>about your pregress on the serializer/transformer of Cocoon 2 and if I
>could be of any means of help, I would love to make some contribution.
>
>Thanks,
>Jing
>
>-----Original Message-----
>From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]]
>Sent: Saturday, July 14, 2001 2:21 PM
>To: [EMAIL PROTECTED]
>Subject: donation: stylesheet for excel output (pure java)
>
>
>Hello,
>
>I've been co-developing a project with another developer, Marc Johnson.
> The project is designed to allow for goals:
>
> 1. port Microsoft's Ole 2 "Structured Storage" file format to
>(pure)
>java. (There is already a C port known as libole2, part of gnome)
> 2. using this library create a system for reading/writing Excel
>spreadsheets. (pure java) This will be easier than the first.
> 3. create a Cocoon 2 serializer (and/or transformer?) for using
>this.
>(pure java)
> 4. make it easier to use XML for reporting and row/column data
>in a
>crossformat manner. (pure java)
>
>
>We estimate another couple weeks or so. At that point we'd like to
>donate the source to the Cocoon project (or related project).
>
>Would there be interest in this donation? To what portion of the
>project would this be most appropriate, or should this be seperate
>somehow? How would we go about doing it (the docs seemed to more point
>to altering existing code than new stuff).
>
>Thank you,
>
>-Andy
>
>PS Direct replies welcome for this topic (I'm on digest :-) ).
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, email: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]