Crate ironcalc

source ·
Expand description

This crate reads an xlsx file and transforms it into an internal representation (Model). An xlsx is a zip file containing a set of folders and xml files. The IronCalc json structure mimics the relevant parts of the Excel zip. Although the xlsx structure is quite complicated, it’s essentials regarding the spreadsheet technology are easier to grasp.

The simplest workbook folder structure might look like this:

docProps
    app.xml
    core.xml

_rels
    .rels

xl
    _rels
        workbook.xml.rels
    theme
        theme1.xml
    worksheets
        sheet1.xml
    calcChain.xml
    styles.xml
    workbook.xml
    sharedStrings.xml

[Content_Types].xml

Note that more complicated workbooks will have many more files and folders. For instance charts, pivot tables, comments, tables,…

The relevant json structure in IronCalc will be:

{
    "name": "Workbook1",
    "defined_names": [],
    "shared_strings": [],
    "worksheets": [],
    "styles": {
        "num_fmts": [],
        "fonts": [],
        "fills": [],
        "borders": [],
        "cell_style_xfs": [],
        "cell_styles" : [],
        "cell_xfs": []
    }
}

Note that there is not a 1-1 correspondence but there is a close resemblance.

Re-exports

Modules