nodejs压缩和解压缩zip文件
 发布于 12 年前  作者 151263  28748 次预览  最后一次回复是 9 年前  来自 分享 

https://git.oschina.net/ccteams/hzip nodejs压缩和解压缩zip文件 替换zip文件里面的内容等 我自己写的,实际项目中在用了,没问题 可以用来操作Excel2007 或者Excel2010 我的项目中是用它来导出Excel的 纯javascript写的

var fs = require("fs");
var zlib = require("zlib");
var Hzip = require("../hzip");
var hzip = new Hzip(fs.readFileSync("./test.zip"));
//替换或增加文件
hzip.updateEntry("testDir/test.txt",fs.readFileSync("./test.txt"),function(err,buffer){
    if(err) console.log(err);
    if(fs.existsSync("./test2.zip") === true) fs.unlinkSync("./test2.zip");
    fs.writeFileSync("./test2.zip",buffer);
    //解压文件
    var entry = hzip.getEntry("testDir/test.txt");
    zlib.inflateRaw(entry.cfile,function(err,buf){
        console.log(buf.toString());
    });
});
8 回复
softice

非常不错,谢谢楼主。另外不知道有没有基于bytes数组的zip解压模块?例如用node下载一个zip,我希望不用保存到磁盘,直接读取zip内容并解包使用。谢谢。

151263

你的仔细看一下我的例子,已经实现了你的需求了 fs.readFileSync("./test.zip")返回的就是Buffer类,就是bytes

felixnode

能介绍一下导出excel是怎么写的么

Einsy

请问你发的地址为什么是404呢?无法访问,有没有npm模块?

151263

你用Excel2007以及以上的版本,新建立一个Excel,然后在上面随便写点东西, 然后改Excel的后缀名,从.xlxs改为.zip,然后再用好压解压开,里面会有很多xml文件, 一个个打开用Notepad++看一下,格式化美化一下xml,你就明白了 其中有一个shareString.xml文件里面是你刚刚输入进去的东西

151263

google搜索一下 openXml

chihuohuo

@151263 听上去不错,放出来撒~