diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index a5e467040..fe9ac0bd4 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ + 50246 - Properly position GutsRecord when reading HSSF workbooks 48539 - Added implementation for MROUND(), VAR() and VARP() 50446 - Code cleanup and optimizations to keep some IDE quiet 50437 - Support passing ranges to NPV() diff --git a/src/java/org/apache/poi/hssf/model/RecordOrderer.java b/src/java/org/apache/poi/hssf/model/RecordOrderer.java index b7d942e5d..764d5a511 100644 --- a/src/java/org/apache/poi/hssf/model/RecordOrderer.java +++ b/src/java/org/apache/poi/hssf/model/RecordOrderer.java @@ -417,6 +417,7 @@ final class RecordOrderer { case ObjRecord.sid: case TextObjectRecord.sid: + case GutsRecord.sid: // see Bugzilla 50426 case WindowOneRecord.sid: // should really be part of workbook stream, but some apps seem to put this before WINDOW2 case WindowTwoRecord.sid: diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 288479ac6..cb7cdbd1f 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -1894,4 +1894,9 @@ if(1==2) { HSSFWorkbook wb = openSample("50020.xls"); writeOutAndReadBack(wb); } + + public void test50426() throws Exception { + HSSFWorkbook wb = openSample("50426.xls"); + writeOutAndReadBack(wb); + } } diff --git a/test-data/spreadsheet/50426.xls b/test-data/spreadsheet/50426.xls new file mode 100644 index 000000000..1a807f854 Binary files /dev/null and b/test-data/spreadsheet/50426.xls differ