]> source.dussan.org Git - poi.git/commitdiff
Bug 52447: Allow HyperLinkRecord to appear as part of the RowRecordsAggregate
authorDominik Stadler <centic@apache.org>
Thu, 30 Dec 2021 23:03:16 +0000 (23:03 +0000)
committerDominik Stadler <centic@apache.org>
Thu, 30 Dec 2021 23:03:16 +0000 (23:03 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1896552 13f79535-47bb-0310-9956-ffa450edef68

poi/src/main/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
poi/src/test/java/org/apache/poi/hssf/usermodel/TestBugs.java
test-data/spreadsheet/52447.xls [new file with mode: 0644]

index 2a5789c7cb9d54cb0fd3d99932ad2ef06104e68c..eb2cd212a3c9fed9cffac8be8f8b32651dc5dc30 100644 (file)
@@ -32,6 +32,7 @@ import org.apache.poi.hssf.record.DBCellRecord;
 import org.apache.poi.hssf.record.DConRefRecord;
 import org.apache.poi.hssf.record.DimensionsRecord;
 import org.apache.poi.hssf.record.FormulaRecord;
+import org.apache.poi.hssf.record.HyperlinkRecord;
 import org.apache.poi.hssf.record.IndexRecord;
 import org.apache.poi.hssf.record.MergeCellsRecord;
 import org.apache.poi.hssf.record.MulBlankRecord;
@@ -90,6 +91,9 @@ public final class RowRecordsAggregate extends RecordAggregate {
                     // end of 'Row Block'.  Should only occur after cell records
                     // ignore DBCELL records because POI generates them upon re-serialization
                     continue;
+                case HyperlinkRecord.sid:
+                    // some files contain a HyperlinkRecord here which we ignore for now
+                    continue;
             }
             if (rec instanceof UnknownRecord) {
                 // might need to keep track of where exactly these belong
index 5b4ff82ed48e08bb30f9e52e277ad8f254ac50c4..4f216c68488af0be285cbe15bd3c3a403cbc9673 100644 (file)
@@ -2603,5 +2603,10 @@ final class TestBugs extends BaseTestBugzillaIssues {
         }
     }
 
-
+    @Test
+    void test52447() throws IOException {
+        try (Workbook wb = openSampleWorkbook("52447.xls")) {
+            assertNotNull(wb);
+        }
+    }
 }
diff --git a/test-data/spreadsheet/52447.xls b/test-data/spreadsheet/52447.xls
new file mode 100644 (file)
index 0000000..ee2317d
Binary files /dev/null and b/test-data/spreadsheet/52447.xls differ