java开发,需要实现一个功能:将excel进行加密。然后碰到问题。
public static void main(String[] args) throws IOException, InvalidFormatException, GeneralSecurityException {
POIFSFileSystem fs = new POIFSFileSystem();
EncryptionInfo info = new EncryptionInfo(EncryptionMode.agile);
Encryptor enc = info.getEncryptor();
enc.confirmPassword("12346");
OPCPackage opc = OPCPackage.open(new File("D:/file/20161031/excel.xlsx"), PackageAccess.READ_WRITE);
OutputStream os = enc.getDataStream(fs);
opc.save(os);
opc.close();
FileOutputStream fos = new FileOutputStream("D:/file/20161031/excel.xlsx");
fs.writeFilesystem(fos);
fos.close();
System.out.println("File created!!");
}
这个是我写的方法。
报错:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.poifs.crypt.EncryptionInfo.<init>(Lorg/apache/poi/poifs/crypt/EncryptionMode;)V
at com.hengtiansoft.xinyunlian.apply.service.Test.main(Test.java:56)
你看看是否有加:
poi-ooxml,
poi-ooxml-schemas
这两个包。不过能正常加密,但是2007excel版版的打不开03版本是没问题的,不知道楼主有没有遇到。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。