Rust如何操作Excel文件?推荐几个好用的Rust Excel库

最近在学习Rust,需要处理Excel文件,但不太清楚具体怎么操作。请问在Rust中有哪些好用的库可以用来读写Excel文件?最好能支持常见的操作,比如读取数据、写入数据、修改格式等。另外,这些库的稳定性和性能如何?有没有推荐的示例代码或教程可以参考?

2 回复

推荐使用calaminerust_xlsxwriter
calamine适合读取Excel文件,支持.xlsx.xls等格式,轻量高效。
rust_xlsxwriter专注于写入Excel,功能强大,支持图表、格式等。
两者结合可满足读写需求。


在Rust中操作Excel文件,推荐以下库:

主要推荐库

1. calamine

最流行的纯Rust Excel读写库

use calamine::{open_workbook, Reader, Xlsx};

let mut workbook: Xlsx<_> = open_workbook("file.xlsx")?;
if let Some(Ok(range)) = workbook.worksheet_range("Sheet1") {
    for row in range.rows() {
        for cell in row {
            println!("{}", cell);
        }
    }
}

2. rust_xlsxwriter

功能强大的Excel写入库

use rust_xlsxwriter::{Workbook, XlsxError};

let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
worksheet.write_string(0, 0, "Hello")?;
worksheet.write_number(0, 1, 123)?;
workbook.save("demo.xlsx")?;

3. xlsx

基于C库绑定的解决方案

use xlsx::write::Workbook;

let mut workbook = Workbook::create("test.xlsx");
let sheet = workbook.worksheets_mut().get_mut(0).unwrap();
sheet.add_row(vec!["A1", "B1", "C1"]);
workbook.save()?;

选择建议

  • 读取为主:选择 calamine(性能好,纯Rust)
  • 写入为主:选择 rust_xlsxwriter(功能丰富)
  • 需要高级功能:考虑 xlsx(基于成熟C库)

这些库都能很好地处理.xlsx格式,calamine还支持.ods和.xls格式。根据你的具体需求选择合适的库即可。

回到顶部