Apache OpenOffice (AOO) Bugzilla – Issue 101764
Excel export omits INDEX and DBCELL records
Last modified: 2013-01-29 21:53:50 UTC
Each workbook consists of 2 kind of parts - one for the general workbook information, and the second part is for each individual spreadsheet inside of this workbook. General workbook section contains information about names of the spreadsheets, their location inside of the file etc. This part seems to be fine and this is why the reader returns list of the spreadsheets. But the second part of the workbook does not seem to look right. Each subsection about each individual spreadsheet missing two parts (Microsoft calls them records) that describe location of the data rows inside of each individual spreadsheet and that is the reason why the component does not read any data. According to Microsoft specification for the xls file format these two records are required and must be generated by the application that creates these files. Name of the missing records - INDEX and DBCELL. To me it looks like a bug in OpenOffice. Excel itself opens such kind of files and the answer is simple - Excel tries to do the best job to read files and find all the parts and stick them together (some sort of recovery mode) and then create correct content.
If this issue is meant to be taken seriously, you need to give more technical details, pointers to the appropriate parts of the specification you're referring to, etc. As this is not affecting document exchange, but is only technical detail it doesn't justify P2 My reading of the spec is that it is used by excel for performance reasons only. Bit if those are present, they must contain valid data. It also states: "Excel uses the INDEX and DBCELL records to optimize the lookup of cell records ( RK, FORMULA, and so on). You can use these records to optimize your code when reading a BIFF file, or you can just read the entire workbook (Book) stream to find the cell values you want. The unoptimized method may be slower, depending on the size, structure, and complexity of the file." Anyway - confirming