On Mon, 18 May 2009, Chris Lott wrote:
My test spreadsheet has dates in cells marked up as style #2. Dale Monti's has dates marked up as style #1.

That looks correct from your emails, yes. The s= tells you the style id

I bet that a decent XLSX2CSV program has to use the XSSFReader#getStylesTable() method, and then call StylesTable#getCellStyleXfAt() with the value of the cell's "s" attribute. Here they were 1, 2, etc.

Yup

Unfortunately the POI javadoc has only the signature for that method, no explanation. The return value is of type org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf which I will have to dig more to find.

That class is a xmlbeans compiled version of the underlying XSD from Microsoft/Ecma, which implements all the methods for that element. If you look in the spec at that element, then everything on it should be given by the class.

If you're going to be doing raw sax processing, then you're going to need to process styles.xml, and probably save details on the cellXfs, cellStyleXfs and cellStyles, iirc

That takes a format index and a format string. The doc doesn't indicate whether it works as well on XSSF sheets.

DateUtil.isCellDateFormatted works for both xssf and hssf. I'd suggest you take a peek into that. Use that to trace back how to get both the index and the string from xssf, then do the same sort of thing for your sax parsing

Nick

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to