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


相关推荐
咸甜适中14 小时前
rust的docx-rs库,自定义docx模版批量生成docx文档(逐行注释)
开发语言·rust·docx·docx-rs
FAFU_kyp17 小时前
RISC0_ZERO项目在macOs上生成链上证明避坑
开发语言·后端·学习·macos·rust
古城小栈20 小时前
开发常用 宏
算法·rust
罗政20 小时前
一键对多个Excel文件进行差异内容提取分析+显示差值
excel
咸甜适中20 小时前
rust的docx-rs库读取docx文件中的文本内容(逐行注释)
开发语言·rust·docx·docx-rs
无法长大1 天前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
新缸中之脑1 天前
Google:Rust实战评估
开发语言·后端·rust
罗政1 天前
AI提取一批Excel单元格内容(快递信息)数据安全,支持断网提取
人工智能·excel
鸿乃江边鸟1 天前
Spark Datafusion Comet 向量化Rust Native-- 数据写入
大数据·rust·spark·native
2501_930707781 天前
使用C#代码合并或取消合并 Excel 单元格
excel