load(XSSFFactory.getInstance());
// some broken Workbooks miss this...
- if(!workbook.isSetBookViews()) {
- CTBookViews bvs = workbook.addNewBookViews();
- CTBookView bv = bvs.addNewWorkbookView();
- bv.setActiveTab(0);
- }
+ setBookViewsIfMissing();
}
/**
* </code></pre>
*/
public XSSFWorkbook(InputStream is) throws IOException {
- super(PackageHelper.open(is));
-
- beforeDocumentRead();
-
- // Build a tree of POIXMLDocumentParts, this workbook being the root
- load(XSSFFactory.getInstance());
-
- // some broken Workbooks miss this...
- if(!workbook.isSetBookViews()) {
- CTBookViews bvs = workbook.addNewBookViews();
- CTBookView bv = bvs.addNewWorkbookView();
- bv.setActiveTab(0);
- }
+ this(PackageHelper.open(is));
}
/**
CTWorkbookPr workbookPr = workbook.addNewWorkbookPr();
workbookPr.setDate1904(false);
- CTBookViews bvs = workbook.addNewBookViews();
- CTBookView bv = bvs.addNewWorkbookView();
- bv.setActiveTab(0);
+ setBookViewsIfMissing();
workbook.addNewSheets();
POIXMLProperties.ExtendedProperties expProps = getProperties().getExtendedProperties();
sheets = new ArrayList<>();
pivotTables = new ArrayList<>();
}
+
+ private void setBookViewsIfMissing() {
+ if(!workbook.isSetBookViews()) {
+ CTBookViews bvs = workbook.addNewBookViews();
+ CTBookView bv = bvs.addNewWorkbookView();
+ bv.setActiveTab(0);
+ }
+ }
/**
* Create a new SpreadsheetML package and setup the default minimal content