Mercurial > hg > ooxml
view notes.txt @ 16:2bbd067529b6
improve efficiency, detect blank rows, don't type empty cells
author | Henry S. Thompson <ht@markup.co.uk> |
---|---|
date | Mon, 03 Apr 2017 19:22:03 +0100 |
parents | 01e80c7a9575 |
children | ca98c74a7cb1 |
line wrap: on
line source
You can't depend on <f si="..." t="shared"/> That is, it's _true_, but you can have a table with shared formulae that doesn't use it. Compare M17:T28 (see below, uses shared) and C17:J28 (mostly no shared) in sample4 Looks like the result of a sweep-and-copy-{right,down} results in the _new_ cells covered showing as 'shared': [ ][1][1][1][1]... [2][2][2][2][2]... [2][2][2][2][2]... ... Presumably that one was right-then-down, down-then-right would give a slightly different pattern -------- Thinking about a pipeline... 1) convert all variable references into (verbose!) elts: <!ELEMENT R EMPTY> <!ATTLIST R ac CDATA IMPLIED rc CDATA IMPLIED ar CDATA IMPLIED rr CDATA IMPLIED> where e.g. ac is 'absolute column' 'D6' --> <R rc='D' rr='6'/> and '$E5' --> <R ac='E' rr='5'/> -------- Identifying dates is . . . tedious. They will be ints or floats (?), with s="<int>", where the int is a 0-origin index into the list of <xf...numFmtId="<bin>".../> children of <cellXfs> in styles.xml, and bin is a built-in date format code, see 18.8.30 numFmt (Number Format) in ISO/IEC 29500-1:2016(E) == C071691e.pdf --------- Decided to distinguish between type (num, date, str, err, ...) and class (cur, others to come?). If non-standard code, just record that. ---------- Hmm, looking at real data (kenneth_lay__19506), I see _lots_ of cells with (numerical) formats, but no content. Where do I throw those away? Can throw away empty _rows_ in rect.xsl, but for _cells_ have to wait for ascii.xsl or html.xsl. But only copy type in in rect if there was content before.