我正在写一个CL库来读取名为"xlmanip"的MS Excel(tm)电子表格(尚未准备好黄金时间 - 只读"xlsx"电子表格,适用于"我想在单元格上操作"的80%用例内容"......但我离题了.)
阅读"xlsx"(XML格式的ZIP存档)时,让我担心的一件事是,当前的ZIP处理库Common Lisp ZIP将压缩内容解压缩为(vector (unsigned-byte 8)).对于大型电子表格,这会给最终用户带来问题.
我想到的一个替代方案是延迟加载 - let-over-lambda一个闭包,可以在需要时有效地要求加载工作表.然而,这只是推迟了不可避免的事情.
是否有任何ZIP文件CL库将灰色流返回到ZIP组件的内容而不是(可能很大)(vector (unsigned-byte 8))?
编辑:澄清
我正在寻找一个ZIP组件函数,它返回一个流,而不是一个流.采用流的函数将ZIP组件的内容直接写入与流关联的文件.我宁愿xlmanip直接从流中读取,就像ZIP组件(隐式地,虚拟地)是一个文件一样.