#spreadsheet #xlsx #office #excel #vba #virtualization

excelize

Rust language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets

1 unstable release

0.0.1 Jun 22, 2024

#5 in #vba

26 downloads per month

BSD-3-Clause

63KB
1K SLoC

Rust excelize logo

Crates Badge Licenses Build Status Donate

excelize

Introduction

Excelize is a pure Rust port of Go Excelize library that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility. The full API docs can be found at docs reference.

Reading spreadsheet

The following constitutes the bare to read a spreadsheet document.

extern crate excelize;

use excelize::*;

fn main() {
    let path = String::from("Book1.xlsx");
    let wb = Spreadsheet::open_file(path);
    match wb {
        Ok(ws) => match ws.get_cell_value("Sheet1", 1, 1) {
            Ok(c) => {
                let cell = String::from(c);
                println!("the value of cell A1 is: {}", cell)
            }
            Err(e) => println!("{:?}", e),
        },
        Err(e) => print!("{:?}", e),
    }
}

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change. XML is compliant with part 1 of the 5th edition of the ECMA-376 Standard for Office Open XML.

Licenses

This program is under the terms of the BSD 3-Clause License. See https://opensource.org/licenses/BSD-3-Clause.

Dependencies

~3.5–5MB
~81K SLoC