//! # IronCalc - Core API documentation
//!
//! This technical API documentation in aimed at developers who want to develop bindings for a different language,
//! build a UI based on the engine or just use the library in a Rust program
//!
//! ## Usage
//!
//! Add the dependency in `Cargo.toml`:
//!
//! ```toml
//! [dependencies]
//! ironcalc = { git = "https://github.com/ironcalc/IronCalc", version = "0.1.0"}
//! ```
//!
//! until version 0.5.0 you should use the git dependencies as stated
//!
//! A simple example:
//!
//!
//! ```rust
//! use ironcalc::{
//! base::{expressions::utils::number_to_column, model::Model},
//! export::save_to_xlsx,
//! };
//!
//! fn main() -> Result<(), Box> {
//! let mut model = Model::new_empty("hello-calc.xlsx", "en", "UTC")?;
//! // Adds a square of numbers in the first sheet
//! for row in 1..100 {
//! for column in 1..100 {
//! let value = row * column;
//! model.set_user_input(0, row, column, format!("{}", value));
//! }
//! }
//! // Adds a new sheet
//! model.add_sheet("Calculation")?;
//! // column 100 is CV
//! let last_column = number_to_column(100).unwrap();
//! let formula = format!("=SUM(Sheet1!A1:{}100)", last_column);
//! model.set_user_input(1, 1, 1, formula);
//!
//! // evaluates
//! model.evaluate();
//!
//! // saves to disk
//! save_to_xlsx(&model, "hello-calc.xlsx")?;
//! Ok(())
//! }
//! ```
//!
//! You can then just:
//!
//! ```bash
//! cargo run
//! ```
#![doc(
html_logo_url = "https://raw.githubusercontent.com/ironcalc/ironcalc/main/assets/logo.png",
html_favicon_url = "https://raw.githubusercontent.com/ironcalc/ironcalc/main/assets/favicon.ico"
)]
pub mod compare;
pub mod error;
pub mod export;
pub mod import;
pub use ironcalc_base as base;