在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格式。根据你的具体需求选择合适的库即可。