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
//! wolfxl-core: pure-Rust spreadsheet reader with Excel number-format-aware rendering.
//!
//! This crate carries no PyO3 / Python coupling. It opens spreadsheets via
//! [`calamine-styles`] for xlsx / xls / xlsb / ods and a built-in reader
//! for CSV, exposes a `Workbook → Sheet → Cell` API, and renders cell
//! values with awareness of common Excel number formats (currency,
//! percentage, scientific, date, time).
//!
//! ```no_run
//! use wolfxl_core::Workbook;
//!
//! let mut wb = Workbook::open("examples/sample-financials.xlsx")?;
//! let sheet = wb.first_sheet()?;
//! let (rows, cols) = sheet.dimensions();
//! println!("{} rows × {} columns", rows, cols);
//! # Ok::<_, wolfxl_core::Error>(())
//! ```
//!
//! ## Scope
//!
//! - **In scope today:** read xlsx / xls / xlsb / ods / csv values + best-effort
//! number-format strings (xlsx only — calamine leaves xls/xlsb/ods style ranges
//! empty and CSV has no style concept), classify formats into
//! [`FormatCategory`], render via [`format_cell`], map workbook structure,
//! infer per-column schema/cardinality summaries (reads through
//! numeric-looking strings so CSV columns classify correctly), and walk
//! `xl/styles.xml` cellXfs + numFmts as a fallback when calamine's fast
//! path returns None (covers openpyxl-generated fixtures).
//! - **Not yet:** write side.
//!
//! The existing PyO3 layer in the sibling `wolfxl` cdylib still owns its own
//! implementation; unifying the two is follow-up work.
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use Sheet;
pub use ;
pub use ;