当前位置:  开发笔记 > 编程语言 > 正文

密码保护的Excel文件

如何解决《密码保护的Excel文件》经验,为你挑选了1个好方法。

我有一个受密码保护的Excel电子表格.我需要打开此电子表格并从中读取数据.我一直试图使用POI API无济于事.Java解决方案将是首选,但任何想法都会有所帮助.

编辑:是的,我有密码.该文件在excel中受密码保护; 必须输入密码才能查看电子表格.

Edit2:我无法使用POI用密码打开它,我正在寻找替代解决方案.



1> Gagravarr..:

POI应该能够打开两个受保护的xls文件(使用org.apache.poi.hssf.record.crypt)和受保护的xlsx文件(使用org.apache.poi.poifs.crypt).你试过这些吗?

如果您正在使用HSSF(对于xls文件),则需要在打开文件之前设置密码.您通过以下呼叫执行此操作:

 org.apache.poi.hssf.record.crypto.Biff8EncryptionKey.setCurrentUserPassword(password);

之后,HSSF应该能够打开您的文件.

对于XSSF,您需要以下内容:

    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("protect.xlsx"));
    EncryptionInfo info = new EncryptionInfo(fs);
    Decryptor d = Decryptor.getInstance(info);
    d.verifyPassword(Decryptor.DEFAULT_PASSWORD);
    XSSFWorkbook wb = new XSSFWorkbook(d.getDataStream(fs));

有关详细信息,请参阅POI加密文档页面

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有