[alibaba/easyexcel]如何将现有的excel文件加密,而不是在生成的时候加密

2023-02-22 150 views
3

如题: 我想要读取现有的excel文件,然后设置密码之后输出,poi的加密方式太占内存了,会oom

回答

2

你可以直接对文件加密,不用excel的方式

7

需求就是给现有的excel设置打开密码,数据加密的话反而好办了

5

不是数据,是直接对整个文件加密,和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>
1

嗯嗯,这个zip4j我知道的,但是需求的效果就是针对excel文件打开的时候输入密码这种?

6

这跟excel也没关系 你们自己想办法把