umya-spreadsheet:一个纯Rust编写的Excel操作库

umya-spreadsheet:一个纯Rust编写的Excel操作库

umya-spreadsheet A pure rust library for reading and writing spreadsheet files umya-spreadsheet 项目地址: https://gitcode.com/gh_mirrors/um/umya-spreadsheet


umya-spreadsheet 是一款采用纯Rust语言实现的库,专为读取和写入.xlsx文件设计。

安装指南

要将 umya-spreadsheet 库集成到您的Rust项目中,您需要在项目的Cargo.toml文件里添加以下依赖:

[dependencies]
umya_spreadsheet = "2.0.1"

如果您还需要WebAssembly支持,则应配置如下:

umya_spreadsheet = { version = "2.0.1", features = ["js"] }

之后,在您的主代码(如main.rs)中引入该库:

extern crate umya_spreadsheet;

项目使用说明

读取文件

基本的文件读取可以通过以下代码完成:

use std::path::Path;
let path = Path::new("./tests/test_files/aaa.xlsx");
let mut book = umya_spreadsheet::reader::xlsx::read(path).expect("读取失败");

对于大量数据的文件,建议使用懒加载以提高响应速度:

let path = Path::new("./tests/test_files/aaa.xlsx");
let mut book = umya_spreadsheet::reader::xlsx::lazy_read(path).expect("懒加载读取失败");

创建新文件

创建一个新的Excel工作簿很简单:

let mut book = umya_spreadsheet::new_file();

写入文件

写入操作同样直观:

let path = Path::new("./tests/result_files/bbb.xlsx");
umya_spreadsheet::writer::xlsx::write(&book, path).expect("写入失败");

如果需要加密文件,可以这样做:

umya_spreadsheet::writer::xlsx::write_with_password(&book, path, "your-password").expect("带密码写入失败");

或者设置已有文件的密码:

let from_path = Path::new("./tests/test_files/aaa.xlsx");
let to_path = Path::new("./tests/result_files/bbb.xlsx");
umya_spreadsheet::writer::xlsx::set_password(from_path, to_path, "new-password").expect("设置密码失败");

访问和修改单元格

访问单元格值的方式多样:

// 根据标签或索引访问单元格
let val = book.get_sheet_by_name("Sheet1").unwrap().get_cell("A1").get_value();
let val_by_index = book.get_sheet_by_name("Sheet1").unwrap().get_cell((1, 1)).get_value();

修改单元格内容也很简单:

book.get_sheet_by_name_mut("Sheet1").unwrap().get_cell_mut("A1").set_value("新的值");

更多功能

还包括移动值、改变样式、新增图表等高级功能。例如,改变样式:

let mut style = book.get_sheet_by_name_mut("Sheet1").unwrap().get_style_mut("A1");
style.set_background_color(umya_spreadsheet::Color::COLOR_RED);

以及添加图表:

// 添加折线图示例
let chart = umya_spreadsheet::structs::Chart::create_line_chart_from_ranges(...);
book.get_sheet_by_name_mut("Sheet1").unwrap().add_chart(chart);

API使用文档简述

  • 文件操作:支持.xlsx.xlsm格式的读写,并提供了CSV写入功能。
  • 工作表管理:支持新建、读取、复制工作表。
  • 单元格处理:全面支持读取、编辑单元格内容及其格式化值。
  • 样式调整:详细控制单元格样式,如背景色。
  • 列与行操作:包含读取与编辑列宽、行高等。
  • 图表与图像:支持图表创建与编辑,以及图像的读取和嵌入。
  • 安全性:提供加解密文件的能力。

以上为 umya-spreadsheet 的基础使用指导和简介,更多详细的API文档和功能演示,请参考项目的官方文档和示例代码。此库遵循MIT开源协议,鼓励贡献和改进,确保您的代码整洁并符合Rust的最佳实践标准。

umya-spreadsheet A pure rust library for reading and writing spreadsheet files umya-spreadsheet 项目地址: https://gitcode.com/gh_mirrors/um/umya-spreadsheet

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲁椒睿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值