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
