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仓库以获取最新的使用信息和示例。


相关推荐
每一天,每一步22 分钟前
react antd点击table单元格文字下载指定的excel路径
前端·react.js·excel
花开盛夏^.^18 小时前
Excel常用功能总结
excel
Excel_easy1 天前
WPS按双字段拆分工作表到独立工作簿-Excel易用宝
excel·wps
JavaNice哥2 天前
easyexcel读取写入excel easyexceldemo
excel
Johaden2 天前
EXCEL+Python搞定数据处理(第一部分:Python入门-第2章:开发环境)
开发语言·vscode·python·conda·excel
进击的雷神2 天前
Excel 实现文本拼接方法
excel
东京老树根2 天前
Excel 技巧15 - 在Excel中抠图头像,换背景色(★★)
笔记·学习·excel
规划GIS会2 天前
CC工具箱使用指南:【Excel点集转面要素(批量)】
excel·二次开发·arcgis pro
东京老树根2 天前
Excel 技巧17 - 如何计算倒计时,并添加该倒计时的数据条(★)
笔记·学习·excel
符小易2 天前
Mac苹果电脑 怎么用word文档和Excel表格?
macos·word·excel