[package]
name = "rxls"
version = "0.1.1"
edition = "2021"
rust-version = "1.85"
license = "MIT"
description = "Native Rust spreadsheet library: reads .xls (BIFF8/5/7), .xlsx, .xlsb, .ods and writes .xlsx. Typed cells, formulas, panic-free, no JVM/POI."
repository = "https://github.com/HyunjoJung/rxls"
homepage = "https://github.com/HyunjoJung/rxls"
documentation = "https://docs.rs/rxls"
readme = "README.md"
authors = ["Hyunjo Jung <j96263732@gmail.com>"]
keywords = ["xls", "xlsx", "excel", "spreadsheet", "ole2"]
categories = ["parser-implementations", "text-processing", "localization"]
exclude = [".github/", "bindings/", "fuzz/", "oss-fuzz/"]
[package.metadata.docs.rs]
all-features = true
[lib]
crate-type = ["rlib"]
[[bin]]
name = "rxls"
path = "src/main.rs"
required-features = ["cli"]
[dependencies]
cfb = "0.14"
encoding_rs = "0.8"
thiserror = "2.0"
zip = { version = "2.2", default-features = false, features = ["deflate"], optional = true }
quick-xml = { version = "0.41", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
chrono = { version = "0.4.45", default-features = false, optional = true }
[features]
default = ["xlsx", "cli"]
cli = []
xlsx = ["dep:zip", "dep:quick-xml"]
xlsb = ["xlsx"]
ods = ["dep:zip", "dep:quick-xml"]
serde = ["dep:serde"]
chrono = ["dep:chrono"]
full = ["xlsx", "xlsb", "ods", "serde", "chrono"]
[[example]]
name = "extract"
path = "examples/extract.rs"
[[example]]
name = "metadata"
[[example]]
name = "to_xlsx"
required-features = ["xlsx"]
[[example]]
name = "roundtrip"
required-features = ["xlsx"]
[[example]]
name = "author_report"
required-features = ["xlsx"]