密码保护XSSFWorkBook Apache POI

时间:2014-03-03 10:39:36

标签: java excel encryption apache-poi

我需要密码保护XSSFWorkBook。对于HSSF,我能够轻松完成,但相同的实现不适用于XSSFWorkBook。

我正在使用Apache POI 3.6和3.9。我的意思是我尝试使用3.6和3.9。

我想我需要使用POIFSFileSystem,但任何人都可以指导我这样做。

3 个答案:

答案 0 :(得分:2)

最新版本的poi支持密码保护。

请参阅http://poi.apache.org/encryption.html

尝试了建议的方法并且工作正常。

答案 1 :(得分:0)

基于Apache POI - Encryption support doc。

取决于文件系统,即MS-Office 2003MS-Office 2007等。

以下程序适用于MS-Office 2007。请查看文档

POIFSFileSystem filesystem = --> get your filesystem
EncryptionInfo encInfo = new EncryptionInfo(filesystem); 
Decryptor decryptor = new Decryptor(encInfo); 
decryptor.verifyPassword("your-password"); 
XSSFWorkbook wb = new XSSFWorkbook(decryptor.getDataStream(filesystem))

答案 2 :(得分:0)

使用Apache POI我们可以读取受密码保护的文件,但是它们不能创建受密码保护的文件。

请尝试使用其他商业图书馆,例如Aspose