8个版本
0.1.7 | 2022年2月8日 |
---|---|
0.1.6 | 2021年7月25日 |
#326 在 压缩
每月36次下载
160KB
1K SLoC
包含(ZIP文件,135KB)tests/data/UPS.Galaxy.VS.PX.xlsx,(ZIP文件,17KB)tests/data/Book1.xlsx,(ZIP文件,4KB)tests/data/inlinestrings.xlsx
xl / xlcat
xlcat就像cat,但针对Excel文件。具体来说,xlsx文件(很遗憾,它不能在xls文件上工作)。它可以处理极大的Excel文件,并几乎立即开始输出内容。它能够这样做是通过一些关于底层xml的假设,然后通过一个高性能XML拉取解析器来利用这些假设。
xlcat从sxl(一个做类似事情的Python库)中借鉴了想法,并将其放入命令行应用程序中。
入门
您可以从发布页面下载xlcat。一旦为您的操作系统下载了二进制文件,您可以使用此工具通过以下方式查看Excel文件:
xlcat <path-to-xlsx> <tab-in-xlsx>
这将开始将整个Excel文件输出到您的屏幕。如果您有一个非常大的文件,您可能想要限制打印到屏幕上的行数。以下将打印此存储库中包含的"Book1.xlsx"文件的前10行
$ xlcat tests/data/Book1.xlsx Sheet1 -n 10
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36
37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54
55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72
73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90
91,92,93,94,95,2018-01-31,97,98,99,2018-02-28,101,102,103,104,105,106,107,108
109,110,111,112,113,114,115,116,117,2018-03-01,119,120,121,122,123,124,125,126
127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144
145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162
163,164,165,166,167,168,169,"Test",171,172,173,174,175,176,177,178,179,180
您当然可以用head
或类似的东西来限制行数,但这使得在不使用其他工具的情况下更容易做到。
xl库
如果您用类似以下方式安装Rust crate:
[dependencies]
xl = "0.1.0"
您应该能够按如下方式使用库:
use xl::Workbook;
fn main () {
let mut wb = xl::Workbook::open("tests/data/Book1.xlsx").unwrap();
let sheets = wb.sheets();
let sheet = sheets.get("Sheet1");
for row in sheet.rows(&mut wb).take(5) {
println!("{}", row);
}
}
此API将来可能会更改。特别是,我不喜欢必须将wb对象传递给行迭代器,所以我可能会尝试找到一种方法来消除这部分代码。
您可以使用标准命令cargo test
运行测试。
许可证
该项目受MIT许可证许可 - 有关详细信息,请参阅许可证文件
依赖项
~4.5–5.5MB
~93K SLoC