0
如题: 我想要读取现有的excel文件,然后设置密码之后输出,poi的加密方式太占内存了,会oom
如题: 我想要读取现有的excel文件,然后设置密码之后输出,poi的加密方式太占内存了,会oom
你可以直接对文件加密,不用excel的方式
需求就是给现有的excel设置打开密码,数据加密的话反而好办了
不是数据,是直接对整个文件加密,和excel没关系,可以直接用zip的加密 给你一段例子
public static void main(String[] args) {
String password = "abcd";
String inputFile = "file1.txt";
String outputFile = "aaa.zip";
try {
ZipFile zipFile = new ZipFile(outputFile);
ZipParameters parameters = new ZipParameters();
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(EncryptionMethod.AES);
parameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256);
zipFile.setPassword(password.toCharArray());
zipFile.addFile(inputFile, parameters);
} catch (ZipException e) {
e.printStackTrace();
}
}
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>2.4.0</version>
</dependency>
嗯嗯,这个zip4j我知道的,但是需求的效果就是针对excel文件打开的时候输入密码这种?
这跟excel也没关系 你们自己想办法把