【发布时间】:2020-03-23 05:57:58
【问题描述】:
我需要密码保护 XSSFWorkBook。对于 HSSF,我可以轻松完成,但相同的实现不适用于 XSSFWorkBook。
我同时使用 Apache POI 3.6 和 3.9。我的意思是我尝试同时使用 3.6 和 3.9。
我想我需要使用 POIFSFileSystem 但任何人都可以指导我。
【问题讨论】:
标签: java excel encryption apache-poi
我需要密码保护 XSSFWorkBook。对于 HSSF,我可以轻松完成,但相同的实现不适用于 XSSFWorkBook。
我同时使用 Apache POI 3.6 和 3.9。我的意思是我尝试同时使用 3.6 和 3.9。
我想我需要使用 POIFSFileSystem 但任何人都可以指导我。
【问题讨论】:
标签: java excel encryption apache-poi
【讨论】:
基于Apache POI - Encryption support doc。
这取决于文件系统,即MS-Office 2003或MS-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))
【讨论】:
使用 Apache POI 我们可以读取受密码保护的文件,但它们无法创建受密码保护的文件。
所以试试其他一些商业图书馆,比如Aspose。
【讨论】: