-1
我在java中使用Apache POI库for Excel。我需要用密码打开xlsx文件。为什么我有这个错误:“线程中的异常”主要“org.apache.poi.EncryptedDocumentException:导出限制 - 请安装JCE无限强度管辖权策略文件”。我尝试安装这些文件。但是这并没有解决问题。错误“安装JCE无限强度管辖权限策略文件”
public static void ReadFromExcell(String file) throws IOException, GeneralSecurityException {
String excelFilePath = "ServerList.xlsx";
try {
NPOIFSFileSystem fileSystem = new NPOIFSFileSystem(new File(excelFilePath));
EncryptionInfo info = new EncryptionInfo(fileSystem);
Decryptor decryptor = Decryptor.getInstance(info);
if (!decryptor.verifyPassword("qwerty")) {
System.out.println("Unable to process: document is encrypted.");
return;
}
InputStream dataStream = decryptor.getDataStream(fileSystem);
Workbook workbook = new XSSFWorkbook(dataStream);
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> iterator = firstSheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
System.out.print(cell.getStringCellValue() + "\t");
}
System.out.println();
}
workbook.close();
dataStream.close();
fileSystem.close();
} catch (GeneralSecurityException | IOException ex) {
ex.printStackTrace();
}
}
当您正确安装策略文件并按照Oracle文档确保它们安装正常时会发生什么? – Gagravarr
我下载了正确的8版java的必要jar文件。然后我替换'c:\ program files \ java \ jre \ lib \ security'中的文件,但没有任何更改(((也许我应该尝试重新安装jre? –