encryption(密码保护).xls文件的方式已经创build
我已经成功encryption现有的Excel文件(.xlsx格式),但我不知道如何encryption.xls格式的Excel文件,到目前为止,我已经压缩,然后encryption.xls,但我想Excel文件(.xls)被encryption。
我已经使用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是输出path位置,CSVToEXCEL.pw是密码ZipAndProtectReport是用于压缩然后密码保护的另一类。
我想知道如何让.xls密码保护,而不是压缩它。
试试这个链接http://www.quicklyjava.com/create-password-protected-excel-using-apache-poi/ 。
既然你已经在使用POI,那么使用它会更容易一些。
也许你可以创build一个xlsx文件,并把xls文件的数据放到xlsx文件中,然后encryptionxlsx文件?