java poi 打开加密 excel?
本帖最后由 lujianwen 于 2014-09-22 18:26:38 编辑
我的Excel 是加密的,怎样用poi,读取这个文件呢?或使用java解密Excel文件.
------解决思路----------------------
本帖最后由 defonds 于 2014-09-24 12:46:20 编辑
参考 http://poi.apache.org/encryption.html。如果你的 Apache POI 是 3.8 以后的版本,就可以直接用它对加密的 xls/xlsx 文件进行解密了(当然密码还是要你自己提供)。
但是目前,你还是不能使用 POI 写加密的 excel 文件,只能写没加密的。
这里有个小例子,它读取了一个加密的 excel 文件,使用你自己提供的密码将其解密,然后将其写出为一个未加密的 excel 文件。你可以参考一下:
public static void readProtectedBinFile() {
try {
InputStream inp = new FileInputStream("c:\\tmp\\protectedFile.xls");
org.apache.poi.hssf.record.crypto.Biff8EncryptionKey.setCurrentUserPassword("abracadabra");
Workbook wb;
wb = WorkbookFactory.create(inp);
// Write the output to a file
FileOutputStream fileOut;