java程式碼實現對excel加密、解密(設定或去除開啟密碼)

java_lover發表於2015-03-13

使用jxcell元件來完成對excel加密、解密的功能。

  jxcell.jar【點選下載】(此jar沒有使用限制,你懂得)

具體程式碼如下:

import java.io.IOException;

import com.jxcell.CellException;
import com.jxcell.View;

/**
 * excel加密、解密 程式碼
 * 
 * @author lifq
 * @date 2015-3-13 下午02:13:24
 */
public class EncryptDecryptUtil {

    /**
     * 讀取excel,並進行加密
     * 
     * @param url
     *            excel檔案路徑 例:D:\\word.xls
     * @param pwd
     *            加密密碼
     */
    public static void encrypt(String url, String pwd) {
        View m_view = new View();
        try {
            // read excel
            m_view.read(url);
            // set the workbook open password
            m_view.write(url, pwd);
        } catch (CellException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * excel 解密
     * 
     * @return void
     * @author lifq
     * @date 2015-3-13 下午02:15:49
     */
    public static void decrypt(String url, String pwd) {
        View m_view = new View();
        try {
            // read the encrypted excel file
            m_view.read(url, pwd);

            // write without password protected
            m_view.write(url);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

    public static void main(String args[]) {
        // 下面1與2 兩個方法請分開執行,可以看到效果
        //
        //1. 把g:\\test.xls 新增開啟密碼123
        EncryptDecryptUtil.encrypt("g:\\test.xls", "123");
        //2. 把g:\\test.xls 密碼123 去除
        EncryptDecryptUtil.decrypt("g:\\test.xls", "123");

    }
}

加密後效果圖:(開啟時提示輸入密碼123)

 

相關文章