怎么用JAVA给生成的EXCEL加密

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用JAVA给生成的EXCEL加密相关的知识,希望对你有一定的参考价值。

Biff8EncryptionKey.setCurrentUserPassword("pass");
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File("file.xls"), true);
HSSFWorkbook hwb = new HSSFWorkbook(fs.getRoot(), true);
Biff8EncryptionKey.setCurrentUserPassword(null);

// RC4 CryptoApi support ppt - decryption
Biff8EncryptionKey.setCurrentUserPassword("pass");
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File("file.ppt"), true);
HSLFSlideShow hss = new HSLFSlideShow(fs);
...
// Option 1: remove password
Biff8EncryptionKey.setCurrentUserPassword(null);
OutputStream os = new FileOutputStream("decrypted.ppt");
hss.write(os);
os.close();
...
// Option 2: change encryption settings (experimental)
// need to cache data (i.e. read all data) before changing the key size
PictureData picsExpected[] = hss.getPictures();
hss.getDocumentSummaryInformation();
EncryptionInfo ei = hss.getDocumentEncryptionAtom().getEncryptionInfo();
((CryptoAPIEncryptionHeader)ei.getHeader()).setKeySize(0x78);
OutputStream os = new FileOutputStream("file_120bit.ppt");
hss.write(os);
os.close();
参考技术A

添加spire.xls.jar为依赖,参考下面的代码:

    import com.spire.xls.*;


    public class EncryptWorkbook

        public static void main(String[] args)

            //加载示例文档

            Workbook workbook = new Workbook();

            workbook.loadFromFile("Sample.xlsx");

            //使用密码加密保护

            workbook.protect("eiceblue");

            //保存文档

            workbook.saveToFile("output/EncryptWorkbook.xlsx", ExcelVersion.Version2010);


       

以上是关于怎么用JAVA给生成的EXCEL加密的主要内容,如果未能解决你的问题,请参考以下文章

java 可以读取加密的Excel文件吗?

怎么用vba给excel 加密

用poi-3.6-20091214.jar 实现java给excel资料加密

java中怎么用jsp调用已有的接口,加密拼接参数

excel的某个sheet被加密了,怎么用java打开并读取这个sheet

RSA加密/解密和签名/验签过程理解