我已经成功地加密了现有的Excel文件(.xlsx格式),但我不知道如何加密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在不压缩的情况下受到密码保护。
发布于 2016-09-28 12:26:11
尝试此链接http://www.quicklyjava.com/create-password-protected-excel-using-apache-poi/。
由于您已经在使用POI,因此使用它会更容易。
https://stackoverflow.com/questions/39737428
复制相似问题