簡體   English   中英

加密(密碼保護)已創建的 .xls 文件的方法

[英]Way to Encrypt(Password protect) .xls file which is already created

我已經成功加密了一個現有的 Excel 文件(.xlsx 格式),但我不知道如何加密 .xls 格式的 Excel 文件,到目前為止我已經壓縮並加密了 .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 受密碼保護。

試試這個鏈接http://www.quicklyjava.com/create-password-protected-excel-using-apache-poi/

由於您已經在使用 POI,因此使用它會更容易。

也許您可以創建一個 xlsx 文件,並將 xls 文件的數據放入 xlsx 文件中,然后加密 xlsx 文件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM