diff --git a/main/pom.xml b/main/pom.xml
index 99c673bf3..bfb3b76cc 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -348,12 +348,12 @@
org.apache.poi
poi
- 4.0.1
+ 4.1.0
org.apache.poi
poi-ooxml
- 3.8
+ 4.1.0
org.apache.odftoolkit
diff --git a/main/src/com/google/refine/exporters/XlsExporter.java b/main/src/com/google/refine/exporters/XlsExporter.java
index 3dbce9de0..b1749d9d1 100644
--- a/main/src/com/google/refine/exporters/XlsExporter.java
+++ b/main/src/com/google/refine/exporters/XlsExporter.java
@@ -141,6 +141,7 @@ public class XlsExporter implements StreamExporter {
project, engine, params, serializer);
wb.write(outputStream);
+ wb.close();
outputStream.flush();
}
diff --git a/main/src/com/google/refine/importers/ExcelImporter.java b/main/src/com/google/refine/importers/ExcelImporter.java
index 4ce4d4792..cace15770 100644
--- a/main/src/com/google/refine/importers/ExcelImporter.java
+++ b/main/src/com/google/refine/importers/ExcelImporter.java
@@ -44,8 +44,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.poi.POIXMLDocument;
-import org.apache.poi.POIXMLException;
+import org.apache.poi.ooxml.POIXMLDocument;
+import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.common.usermodel.Hyperlink;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -95,7 +95,7 @@ public class ExcelImporter extends TabularImportingParserBase {
}
try {
- Workbook wb = POIXMLDocument.hasOOXMLHeader(is) ?
+ Workbook wb = FileMagic.valueOf(is) == FileMagic.OOXML ?
new XSSFWorkbook(is) :
new HSSFWorkbook(new POIFSFileSystem(is));
@@ -147,7 +147,7 @@ public class ExcelImporter extends TabularImportingParserBase {
}
try {
- wb = POIXMLDocument.hasOOXMLHeader(inputStream) ?
+ wb = FileMagic.valueOf(InputStream) == FileMagic.OOXML ?
new XSSFWorkbook(inputStream) :
new HSSFWorkbook(new POIFSFileSystem(inputStream));
} catch (IOException e) {