2016-09-28 4 views
1

기존 Excel 파일 (.xlsx 형식)을 암호화했지만 Encryt Excel 파일을 .xls 형식으로 인코딩하는 방법을 모르고 있습니다. 그리고 나서 .xls를 암호화하지만 Excel 파일 (.xls)을 암호화하고 싶습니다.이미 생성 된 .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.pw 암호 ZipAndProtectReport가 완봉하고 비밀 보호를위한 또 다른 클래스이다 CSVToEXCEL.opath 출력 경로 위치이며, 클래스 이름이다.

내가 어떻게 .xls를 지퍼로 잠그지 않고 암호로 보호 할 수 있는지 알고 싶습니다.

+1

[비밀번호 보호 및 암호화에 대한 Apache POI 문서를 읽어 보셨습니까] (https://poi.apache.org/encryption.html)? 그렇지 않다면, 당신은 어떻게됩니까? – Gagravarr

+0

예, 나는 이미 그것을 읽었고 작동하지 않았습니다. 지금까지 내가 발견 한 것은 단지 일부 EasyXLS API가 이것을 할 수 있다는 것이다. –

답변

0

아마도 xlsx 파일을 만들고 xls 파일의 데이터를 xlsx 파일에 넣고 xlsx 파일을 암호화 할 수 있습니까?

+0

옵션이 없으니 고마워요 –

관련 문제