# xlsx-split **Repository Path**: eshangrao/xlsx-split ## Basic Information - **Project Name**: xlsx-split - **Description**: A tool for automatically splitting xlsx file - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-13 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [Xlsx-Split](https://crates.io/crates/xlsx_split) --- ## 更新日志 20260420 V1.3.0 增加将子表分割到不同文件功能。 20260420 V1.2.0 增加分割到单一文件的不同表格功能。 20260417 V1.1.10 去除调试信息。 20260416 V1.1.9 修复标题行,第一列未空行,第二列有数据时出现的错误合并标题单元格问题。 20260416 V1.1.8 修复标题行存在空白单元格造成的错误问题; 修复分组列有空白单元格造成的分组错误问题; 20260415 V1.1.6 修复未设置加密密码无法输出分割后文件问题; 修复空白单元格造成的错位问题; ## 解决什么问题 日常工作中,因为保密等原因,我们可能需要根据excel表中某一列内容,对表格进行分割拆分为多个表格,如根据机构名称将一张大明细表,拆解成各个机构的明细表,这个工作人工来做很繁琐,所有我们做了这个自动拆分库。 ## 工具用法 ### 1. 安装 ```bash cargo install xlsx_split ``` ### 2. 用法 ```bash xlsx_split [选项] 参数: 要分割的文件完整路径 数据起始行 分组列名称,如:A,支持多个列,如AB 选项: -o, --output 输出文件到其他文件夹,默认与被分割后文件存放统一文件夹 -p, --password 对输出文件进行加密的密码 -s, --single-file 将数据分割到同一文件的不同表格,默认为将数据分割到不同文件。 -c, --child-sheet-to-file 子表分拆模式,默认为正常模式 正常模式为将一个表的内容分组拆分,该模式将源的不同子表分别拆分到文件 该模式下,起始行、分组列名称等无效,可任意输入 例如:源表有A、B、C三个子表,拆分后生成A、B、C三个单独文件。 -h, --help Print help -V, --version Print version ``` ## 库用法 ```rust use xlsx_split::core::XlsxSplit; #[test] fn test_split() { let src = "/home/feiy/Desktop/test.xlsx"; // 从第4行开始为数据 let data_start_row = 4; // 按照为B列内容进行分割拆分 let group_col = "B"; let out_dirs = XlsxSplit::split( src, data_start_row, group_col, false, Some("/home/feiy/Desktop/out"), #[cfg(feature = "encrypt")] Some("abc95599"), ) .unwrap(); println!("{:#?}", out_dirs); } ```