SpreadsheetML

From Apache OpenOffice Wiki
Revision as of 18:24, 6 March 2007 by Dr (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


SpreadsheetML is the XML format used by Excel 2007 and that is part of the Office Open XML specification.

Sample Files

One convenient location to download sample files is in gnumeric repository.

Code Organization

Source files for handling the SpreadsheetML format are located in inc/oox/xls and source/xls under module oox. A good place to start tracing the code would be ExcelFilter::Import and follow the calls it makes.

A substream in the XML package is called "fragment", and each fragment has an associated *fragment.hxx header file. For instance, the code for loading of the workbook.xml fragment is found in workbookfragment.hxx, and so on.

A nested element is called "context", and, like the fragments, each context has an associated *context.hxx. For instance, the code for parsing the <sheetData> element is found in sheetdatacontext.hxx.

The term workbook in this context refers to an entire document which includes worksheets and other document metadata, whereas the term worksheet refers to each individual sheet in the workbook.

Global data

Workbook-wide global data are stored in GlobalData (struct), and handled by GlobalDataHelper (class) which holds reference to the GlobalData instance. All major classes should be derived from GlobalDataHelper to ensure availability of globals in all places.

GlobalData holds reference to ImportBase instance in order to be able to create new fragments.

Relation (class)

Holds three string data for ID, Type and Target (need more info).

ContextHelper (class)

FragmentBase (class)

ContextBase (class)

Personal tools