#xlsx #split #tool

bin+lib xlsx_split

A tool for automatically splitting xlsx file

2 stable releases

1.0.1 May 23, 2024
1.0.0 Jul 25, 2023

#21 in #xlsx

Download history 16/week @ 2024-07-25 2/week @ 2024-08-01 6/week @ 2024-09-19 2/week @ 2024-09-26 2/week @ 2024-10-03

94 downloads per month

MIT/Apache

20KB
348 lines

Xlsx-Split


解决什么问题

日常工作中,因为保密等原因,我们可能需要根据excel表中某一列内容,对表格进行分割拆分为多个表格,如根据机构名称将一张大明细表,拆解成各个机构的明细表,这个工作人工来做很繁琐,所有我们做了这个自动拆分库。

工具用法

1. 安装

cargo install xlsx_split

2. 用法

xlsx_split [选项] <SRC> <DATA_START_ROW> <GROUP_COL_NAME>

参数:
  <SRC>             要分割的文件完整路径
  <DATA_START_ROW>  数据起始行
  <GROUP_COL_NAME>  分组列名称,如:A,支持多个列,如AB

选项:
  -o, --output <OUTPUT>      输出文件到其他文件夹,默认与被分割后文件存放统一文件夹
  -p, --password <PASSWORD>  对输出文件进行加密的密码
  -h, --help                 Print help
  -V, --version              Print version

库用法

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,
        Some("/home/feiy/Desktop/out"),
        #[cfg(feature = "encrypt")]
        Some("abc95599"),
    )
    .unwrap();
    println!("{:#?}", out_dirs);
}

Dependencies

~37MB
~473K SLoC