Rust使用rust_xlsxwriter库把Vec数据写入Excel

一、Rust使用rust_xlsxwriter库把一维Vec数据写入Excel

在Rust中,使用rust_xlsxwriter库将一维Vec数据写入Excel文件是一个相对简单的过程。首先,你需要确保你的Cargo.toml文件中已经添加了rust_xlsxwriter依赖。以下是如何添加依赖的示例:

toml 复制代码
[dependencies]
rust_xlsxwriter = "0.62.0"  # 请使用最新的版本号

然后,你可以使用以下步骤来将Vec数据写入Excel文件:

  1. 创建一个新的Excel文件。
  2. 添加一个工作表。
  3. 写入数据到工作表中。
  4. 保存并关闭Excel文件。

下面是一个简单的示例代码,演示如何将包含字符串的一维Vec数据写入Excel:

rust 复制代码
use rust_xlsxwriter::Workbook;

fn main() {
	//输出的文件名
    let file_name = "output.xlsx";
    
    // 创建一个新的Excel工作簿
    let mut workbook = Workbook::new();

    // 获取工作表的可变引用
    let worksheet = workbook.add_worksheet();

    // 假设我们有一个Vec<String>类型的数据
    let data = vec![
        "Apple".to_string(),
        "Banana".to_string(),
        "Cherry".to_string(),
    ];

    // 写入数据到工作表中
    for (row_number, item) in data.iter().enumerate() {
        // 写入单元格,参数分别是行号、列号和数据
        let _ = worksheet.write(row_number as u32, 0, item);
    }

    //保存工作簿
    workbook.save(file_name).expect("保存失败");
    //关闭工作簿
    drop(workbook);
}

如果你的Vec包含更复杂的数据结构,例如包含多个字段的结构体,你可以先将其转换为一个包含字符串的Vec,然后再写入Excel,或者自定义写入逻辑以适应你的数据结构。

请注意,rust_xlsxwriter库可能不提供与Python的xlsxwriter库相同的所有功能,因此在使用时需要查看Rust版本的文档以了解可用的功能和API。此外,示例中使用的版本号0.1.0可能不是最新的,请在Cargo.toml中使用最新的版本号。

二、Rust使用rust_xlsxwriter库把二维Vec数据写入Excel

在Rust中,使用rust_xlsxwriter库将二维Vec数据写入Excel文件的步骤与写入一维Vec类似,但你需要对每一行数据进行迭代。下面是一个示例,演示如何将二维Vec数据(例如Vec<Vec<String>>)写入Excel文件:

首先,确保你的Cargo.toml文件中已经添加了rust_xlsxwriter依赖,并且版本是最新的。

toml 复制代码
[dependencies]
rust_xlsxwriter = "0.62.0"  # 请检查并使用最新的版本号

然后,你可以使用以下代码将二维Vec数据写入Excel:

rust 复制代码
use rust_xlsxwriter::Workbook;

fn main() {
	//输出的文件名
    let file_name = "output.xlsx";
    
    // 创建一个新的Excel工作簿
    let mut workbook = Workbook::new();

    // 获取工作表的可变引用
    let worksheet = workbook.add_worksheet();

    // 假设我们有一个二维Vec<String>类型的数据
    let data = vec![
        vec!["Apple".to_string(), "Banana".to_string()],
        vec!["Cherry".to_string(), "Date".to_string()],
        vec!["Elderberry".to_string(), "Fig".to_string()],
    ];

    // 遍历二维Vec的每一行
    for (row_index, row) in data.iter().enumerate() {
        // 遍历行中的每个元素
        for (col_index, item) in row.iter().enumerate() {
            // 写入单元格,参数分别是行号、列号和数据
            let _ = worksheet.write(row_index as u32, (col_index as u32).try_into().unwrap(), item);
        }
    }

    //保存工作簿
    workbook.save(file_name).expect("保存失败");
    //关闭工作簿
    drop(workbook);
}

在这个示例中,我们首先创建了一个Excel工作簿,并添加了一个名为"Sheet1"的工作表。然后,我们定义了一个二维Vec,其中包含了一些水果名称。我们通过嵌套的for循环遍历这个二维Vec,并将每一行和列的数据写入到Excel工作表的相应单元格中。

请确保你使用的rust_xlsxwriter库版本与示例代码兼容,因为库的API可能会随着版本更新而变化。如果遇到问题,可以查阅库的官方文档或GitHub仓库以获取最新的使用信息和示例。


相关推荐
一名技术极客23 分钟前
Vue2 doc、excel、pdf、ppt、txt、图片以及视频等在线预览
pdf·powerpoint·excel·文件在线预览
用余生去守护42 分钟前
【反射率】-- Lab 转换(excel)
excel
进击的六角龙43 分钟前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
TracyDemo44 分钟前
excel功能
excel
lc寒曦44 分钟前
【VBA实战】用Excel制作排序算法动画
排序算法·excel·vba
zzzgd8161 小时前
easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头
java·excel·表格·easyexcel·导入导出
努力学习技能的LY1 小时前
Excel:vba实现批量插入图片批注
excel
图片转成excel表格2 小时前
wps怎么算出一行1和0两种数值中连续数值1的个数,出现0后不再计算?
excel·wps
‍。。。3 小时前
使用Rust实现http/https正向代理
http·https·rust
Source.Liu3 小时前
【用Rust写CAD】第二章 第四节 函数
开发语言·rust