simple excel writer in Rust
Clone or download
outersky Merge pull request #3 from cfsamson/windows
Added support for windows. 
Great!
Latest commit 2421bf8 Nov 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples escape xml characters Mar 24, 2017
src Added support for windows. Added zip crate Nov 11, 2018
tests Added support for windows. Added zip crate Nov 11, 2018
.gitignore version 0.1 Jan 1, 2017
.travis.yml add travis Jan 3, 2017
Cargo.toml Added support for windows. Added zip crate Nov 11, 2018
LICENSE Initial commit Dec 30, 2016
README.md reformat README.md Mar 24, 2017

README.md

simple_excel_writer

simple excel writer in Rust

Build Status Documentation

Example

#[macro_use]
extern crate simple_excel_writer as excel;

use excel::*;

fn main() {
    let mut wb = Workbook::create("/tmp/b.xlsx");
    let mut sheet = wb.create_sheet("SheetName");

    // set column width
    sheet.add_column(Column { width: 30.0 });
    sheet.add_column(Column { width: 30.0 });
    sheet.add_column(Column { width: 80.0 });
    sheet.add_column(Column { width: 60.0 });

    wb.write_sheet(&mut sheet, |sheet_writer| {
        let sw = sheet_writer;
        sw.append_row(row!["Name", "Title","Success","XML Remark"])?;
        sw.append_row(row!["Amy", (), true,"<xml><tag>\"Hello\" & 'World'</tag></xml>"])?;
        sw.append_blank_rows(2);
        sw.append_row(row!["Tony", blank!(2), "retired"])
    }).expect("write excel error!");

    let mut sheet = wb.create_sheet("Sheet2");
    wb.write_sheet(&mut sheet, |sheet_writer| {
        let sw = sheet_writer;
        sw.append_row(row!["Name", "Title","Success","Remark"])?;
        sw.append_row(row!["Amy", "Manager", true])
    }).expect("write excel error!");

    wb.close().expect("close excel error!");
}

Note

Only tested on macOS / Linux for the time being, because it depends on locale zip command ( zip -q -r target.xlsx excel_tmp_dir/*).

Todo

  • use zip crate to compress files to xlsx. (currently error occurs while opening xlsx file generated by zip )
  • support style

Change Log

0.1.4 (2017-03-24)

  • escape xml characters.

0.1.3 (2017-01-03)

  • support 26+ columns .
  • fix column width bug.

0.1.2 (2017-01-02)

  • support multiple sheets

0.1 (2017-01-01)

  • generate the basic xlsx file

License

Apache-2.0