2016-09-28 92 views
1

我已經成功加密現有的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在沒有壓縮的情況下進行密碼保護。

+1

您是否試過閱讀關於密碼保護和加密的Apache POI文檔(https://poi.apache.org/encryption.html)?如果不是,當你做什麼時會發生什麼? – Gagravarr

+0

是的,我已經讀過它,不工作。直到現在我發現只有一些EasyXLS API可以做到這一點。 –

回答

0

也許你可以創建一個XLSX文件,並把XLS文件數據到XLSX文件,encryt XLSX文件?

+0

沒有選項,謝謝反正 –