1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
//! 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:
//!
//! ```text
//! 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:
//!
//! ```json
//! {
//! "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.
//!
//! [`Model`]: ../ironcalc/struct.Model.html
pub mod compare;
pub mod error;
pub mod export;
pub mod import;
pub use ironcalc_base as base;