umya-spreadsheet

Crates.io Crates.io

Description

umya-spreadsheet is a library written in pure Rust and read and write xlsx file.

Example

Result Image

Reader or New File

```rust extern crate umya_spreadsheet;

// reader let path = std::path::Path::new("C:/spreadtestdata/aaa.xlsx"); let mut book = umyaspreadsheet::reader::xlsx::read(path).unwrap(); // or // new file let mut book = umyaspreadsheet::new_file(); ```

New worksheet

```rust extern crate umya_spreadsheet;

let mut book = umyaspreadsheet::newfile();

// new worksheet let _ = book.new_sheet("Sheet2"); ```

Change value

```rust extern crate umya_spreadsheet;

let mut book = umyaspreadsheet::newfile(); let _ = book.new_sheet("Sheet2");

// change value let _ = book.getsheetbynamemut("Sheet2").unwrap().getcellmut("A1").setvalue("TEST1"); // or let _ = book.getsheetmut(1).getcellbycolumnandrowmut(1, 1).setvalue("TEST1"); ```

Read value

```rust extern crate umya_spreadsheet;

let mut book = umyaspreadsheet::newfile(); let _ = book.new_sheet("Sheet2");

// read value let a1value = book.getsheetbyname("Sheet2").unwrap().getvalue("A1"); // or let a1value = book.getsheet(1).unwrap().getvaluebycolumnandrow(1, 1); // or formatted value let a1value = book.getsheet(0).unwrap().getformattedvalue("A1"); asserteq!("TEST1", a1value); // TEST1 ```

Change style

```rust extern crate umya_spreadsheet;

let mut book = umyaspreadsheet::newfile(); let _ = book.new_sheet("Sheet2");

// add bottom border let _ = book.getsheetbynamemut("Sheet2").unwrap() .getstylemut("A1") .getbordersmut() .getbottommut() .setborderstyle(umyaspreadsheet::Border::BORDERMEDIUM); // or let _ = book.getsheetbynamemut("Sheet2").unwrap() .getstylebycolumnandrowmut(1, 1) .getbordersmut() .getbottommut() .setborderstyle(umyaspreadsheet::Border::BORDERMEDIUM); ```

Insert or Remove Rows(or Columns)

Result Image ```rust extern crate umya_spreadsheet;

let mut book = umyaspreadsheet::newfile();

// insert rows book.insertnewrow("Sheet1", 2, 3);

// insert columns book.insertnewcolmun("Sheet1", "B", 3); // or book.insertnewcolmunbyindex("Sheet1", 2, 3);

// remove rows book.remove_row("Sheet1", 6, 2);

// remove columns book.removecolmun("Sheet1", "F", 2); // or book.removecolmunbyindex("Sheet1", 6, 2); ```

Writer

```rust extern crate umya_spreadsheet;

let mut book = umyaspreadsheet::newfile(); let _ = book.new_sheet("Sheet2");

// writer let path = std::path::Path::new("C:/spreadtestdata/bbb.xlsx"); let _ = umya_spreadsheet::writer::xlsx::write(&book, path); ```

License

MIT