12个版本
0.4.5 | 2023年11月7日 |
---|---|
0.4.3 | 2022年4月6日 |
0.4.2 | 2021年4月8日 |
0.4.1 | 2021年1月17日 |
0.1.0 | 2017年7月12日 |
#697 in 解析实现
41 每月下载量
53KB
231 行
xlsx2csv - 使用Rust编写的类似Excel的电子表格到CSV的转换器。
USAGE:
xlsx2csv [FLAGS] [OPTIONS] <xlsx> [output]...
FLAGS:
-h, --help Prints help information
-i, --ignore-case Rgex case insensitivedly
-l, --list List sheet names by id
-u, --use-sheet-names Use sheet names as output filename prefix (in current dir or --workdir)
-V, --version Prints version information
OPTIONS:
-d, --delimiter <delimiter> Delimiter for output [default: ,]
-X, --exclude <exclude> A regex pattern for matching sheetnames to exclude, used with '-u'
-I, --include <include> A regex pattern for matching sheetnames to include, used with '-u'
-s, --select <select> Select sheet by name or id in output, only used when output to stdout
-w, --workdir <workdir> Output files location if `--use-sheet-names` setted
ARGS:
<xlsx> Input Excel-like files, supports: .xls .xlsx .xlsb .xlsm .ods
<output>... Output each sheet to sperated file
安装
cargo install xlsx2csv
高级用法
逐个输出工作表
简单用法类似于ssconvert
语法,例如
xlsx2csv input.xlsx sheet1.csv sheet2.csv
这将输出第一个到sheet1.csv
,第二个到sheet2.csv
,并忽略其他工作表。
管道输出
如果没有设置输出位置参数,例如xlsx2csv input.xlsx
,它将第一个工作表写入stdout。因此,两个命令是等效的
xlsx2csv input.xlsx 工作表1.csv
xlsx2csv input.xlsx>工作表1.csv
.
如果您想将特定工作表输出到stdout,请使用-s/--select <id or name>
(id从0开始)
xlsx2csv input.xlsx -s 1
在上面的命令中,它将第二个(从0开始,0是第二个)工作表输出到stdout。
列出工作表名称
使用--list/-l
它将只按id打印所有工作表名称。
xlsx2csv --list
xlsx2csv -l
未设置文件名的多个工作表
如果您有很多工作表,不想为每个工作表设置文件名,请使用-u/--use-sheet-names
以使用工作表名称写入。
xlsx2csv input.xlsx -u
如果您想将文件写入除.
之外的目录,请使用-w/--workdir
选项与-u
选项一起使用。
xlsx2csv input.xlsx -u -w test/
文件扩展名由分隔符确定,逗号到,
到.csv
,制表符到.tsv
,其他视为逗号。
匹配或不匹配正则表达式模式的多个工作表
默认情况下,它将输出所有工作表,但如果你想通过正则表达式匹配工作表名称来选择,请使用-I/--include
来只包含匹配项,并使用-X/--exclude
来排除匹配项。你还可以将这两个选项组合起来,以include-first-exclude-after的顺序
xlsx2csv input.xlsx -I 'a\d+'
xlsx2csv input.xlsx -X '\s'
xlsx2csv input.xlsx -I '\S{3,}' -X 'Sheet'
最后一个命令行将首先包含所有与模式'\S{3,}'匹配的工作表,然后排除匹配项Sheet
。
详细选项
以下是由xlsx2csv --help
打印的内容
USAGE:
xlsx2csv [FLAGS] [OPTIONS] <xlsx> [output]...
FLAGS:
-h, --help
Prints help information
-i, --ignore-case
Regex case insensitivedly.
When this flag is provided, the include and exclude patterns will be searched case insensitively. used with
'-u'.
-l, --list
List sheet names by id
-u, --use-sheet-names
Use sheet names as output filename prefix (in current dir or --workdir)
-V, --version
Prints version information
OPTIONS:
-d, --delimiter <delimiter>
Delimiter for output.
If `use-sheet-names` setted, it will control the output filename extension: , -> csv, \t -> tsv [default: ,]
-X, --exclude <exclude>
A regex pattern for matching sheetnames to exclude, used with '-u'
-I, --include <include>
A regex pattern for matching sheetnames to include, used with '-u'
-s, --select <select>
Select sheet by name or id in output, only used when output to stdout
-w, --workdir <workdir>
Output files location if `--use-sheet-names` setted
ARGS:
<xlsx>
Input Excel-like files, supports: .xls .xlsx .xlsb .xlsm .ods
<output>...
Output each sheet to seprated file.
If not setted, output first sheet to stdout.
许可证
MIT OR Apache-2.0
依赖关系
~18MB
~328K SLoC