Hi,

Congratulations for this initiative, looks good and promising!

I'm busy with developing ODS read/write support for octave (an open
source Matlab clone, see www.octave.org and octave.sf.net), much like
Excel xls support for octave I've added a while ago.
Using ODF toolkit (www.odftoolkit.org) I've managed to get fairly
reliable read support (ODS to octave) and I think write support may be
possible with ODFtoolkit as well but at the price of much complexity
(and time).

I've also experimented with jOpenDocument.  The beauty of
jOpenDocument is that it does much more to shield away the gory xml &
Table/XPath details and presents developers something which looks like
a spreadsheet rather than an xml tree.  Fantastic!  Much easier (&
faster) than ODFtoolkit.
But I'm shamelessly asking for some features .... :-)


For octave ODS read support running using jOpenDocument the following
could improve usability:

- Something like getSheetName ().  I now do .....getSheet(), turn it
into a character string and manually parse for "table-name" in the
first 100-150 chars, but that's a bit clumsy (though fairly reliable).

- getCellType() is protected (I saw the earlier thread on this). I can
work around it but this is clumsy too. For octave I need to be able to
distinguish between floats, booleans, date/time and text.

- Is there a reason that so many methods are protected anyway?  In
e.g. Apache POI and JExcelAPI (for xls) and ODFtoolkit & xerces many
more methods are public which leads to much flexibility.

As to octave ODS write support, there are also some wishes:

- How can I add a worksheet, and how can I get it into a particular
slot in the worksheet "stack"?

- I found I can only *modify* cells.  Trying to *add* data beyond the
envelope of currently existing rows and columns leads to out-of-bound
errors.  In fact, in a new spreadsheet cf. the example on your site I
could only add data to cell A1, all value assignments beyond that
failed...
Did I overlook something?

Perhaps I can work around this last issue but that would turn out to
be the same as what's needed for ODFtoolkit, i.e. addCell() and addRow
() stuff, many checks for existence of rows/columns, and expanding
number-rows-repeated & number-columns-repeated.behind the curtains
where needed.

Thank you + best wishes,

Philip

Reply via email to