方式来加密(密码保护),它已经创建
我已经成功加密现有的Excel文件格式(.xlsx格式),但我不知道如何Encryt .xls格式的Excel文件.xls文件,到目前为止,我已经压缩然后加密.xls,但我想要加密Excel文件(.xls)。方式来加密(密码保护),它已经创建
我已经使用POI进行这些操作。
if(!CSVToEXCEL.pw.equals("NA")){
if(CSVToEXCEL.oformat.equals("xlsx")){
POIFSFileSystem fs = new POIFSFileSystem();
EncryptionInfo info = new EncryptionInfo(fs, EncryptionMode.agile);
Encryptor enc = info.getEncryptor();
enc.confirmPassword(CSVToEXCEL.pw);
OPCPackage opc = OPCPackage.open(new File(CSVToEXCEL.opath), PackageAccess.READ_WRITE);
OutputStream os = enc.getDataStream(fs);
opc.save(os);
opc.close();
FileOutputStream fos = new FileOutputStream(CSVToEXCEL.opath);
fs.writeFilesystem(fos);
System.out.println("File created..."+CSVToEXCEL.opath);
fos.close();
}
else {
// if file is of '.xls' format
System.out.println("xls cannot be Encrypted...");
ZipAndProtectReport zipAndProtectReport = new ZipAndProtectReport();
String xlsoutputzip = zipAndProtectReport.ZipAndProtectMethod(CSVToEXCEL.opath,CSVToEXCEL.pw);
System.out.println("Zip Created..... path: "+xlsoutputzip);
}
}
else
System.out.println("File Created....."+CSVToEXCEL.opath);
}
CSVToEXCEL是类名,CSVToEXCEL.opath是输出路径位置,是CSVToEXCEL.pw密码ZipAndProtectReport为压缩和然后密码保护另一个类。
我想知道如何让.xls在没有压缩的情况下进行密码保护。
也许你可以创建一个XLSX文件,并把XLS文件数据到XLSX文件,encryt XLSX文件?
没有选项,谢谢反正 –
尝试此链接http://www.quicklyjava.com/create-password-protected-excel-using-apache-poi/。
由于您已经在使用POI,因此使用它会更容易。
不,它不会为.xls工作,它只适用于xlsx –
您是否试过阅读关于密码保护和加密的Apache POI文档(https://poi.apache.org/encryption.html)?如果不是,当你做什么时会发生什么? – Gagravarr
是的,我已经读过它,不工作。直到现在我发现只有一些EasyXLS API可以做到这一点。 –