diff --git a/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsExporter.java b/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsExporter.java index 7b84a30f8c..e4e940b138 100644 --- a/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsExporter.java +++ b/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsExporter.java @@ -656,8 +656,11 @@ protected void closeWorkbook(OutputStream os) throws JRException { Biff8EncryptionKey.setCurrentUserPassword(encryptionPassword); } - workbook.write(os); - Biff8EncryptionKey.setCurrentUserPassword(null); + try { + workbook.write(os); + } finally { + Biff8EncryptionKey.setCurrentUserPassword(null); + } } catch (IOException e) { diff --git a/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsMetadataExporter.java b/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsMetadataExporter.java index 5ed5ded655..dfd86ee1e8 100644 --- a/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsMetadataExporter.java +++ b/ext/excel-poi/src/main/java/net/sf/jasperreports/poi/export/JRXlsMetadataExporter.java @@ -580,8 +580,11 @@ protected void closeWorkbook(OutputStream os) throws JRException { { Biff8EncryptionKey.setCurrentUserPassword(encryptionPassword); } - workbook.write(os); - Biff8EncryptionKey.setCurrentUserPassword(null); + try { + workbook.write(os); + } finally { + Biff8EncryptionKey.setCurrentUserPassword(null); + } } catch (IOException e) { throw