1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年12月20日

#9 in #ods


2 crate 使用

MIT/Apache 许可

105KB
2K SLoC

包含 (ZIP 文件, 9KB) data/test.xlsx

spsheet-rs

A xlsx 或 ods 读写库

文档

描述

spsheet-rs 是一个纯 Rust 库,用于读取和写入任何 xlsx 和 ods 文件。

特性

  • xlsx 读取
  • xlsx 写入
  • ods 读取
  • ods 写入
  • 单元格值
  • 单元格日期格式(部分支持)
  • 单元格数字格式
  • 单元格边框
  • 单元格颜色
  • 单元格宽度
  • 单元格高度
  • 公式

示例

extern crate spsheet;
use spsheet::ods;
use spsheet::xlsx;
use spsheet::{Book,Sheet,Cell};
use spsheet::style::Style;
use std::path::Path;

let mut book = Book::new();
let mut sheet = Sheet::new("シート1");
sheet.add_cell(Cell::str("a"), 0, 0);
sheet.add_cell(Cell::str("b"), 0, 1);
sheet.add_cell(Cell::float(1.0), 1, 0);
sheet.add_cell(Cell::float(2.0), 1, 1);
sheet.add_cell(Cell::date_with_style("2017-12-02", Style::new("MM\\月DD\\")), 2, 0);
sheet.add_cell(Cell::date_with_style("2017-12-02T13:30:00", Style::new("YYYY/MM/DD\\ HH:MM:SS")), 2, 1);
book.add_sheet(sheet);

let _ = ods::write(&book, Path::new("./tests/test.ods"));
let res = ods::read(Path::new("./tests/test.ods")).unwrap();
assert_eq!(book, res);

let _ = xlsx::write(&book, Path::new("./tests/test.xlsx"));
let res = xlsx::read(Path::new("./tests/test.xlsx")).unwrap();
assert_eq!(book, res);

如果我能找到 Google Sheets API 库在 Rust 中,我将支持 Google Sheets。

依赖

~2–12MB
~126K SLoC