]> source.dussan.org Git - poi.git/commitdiff
bug 61034: break out of for-loop when both <sheet name="", id=""/> are found
authorJaven O'Neal <onealj@apache.org>
Sat, 29 Apr 2017 18:56:09 +0000 (18:56 +0000)
committerJaven O'Neal <onealj@apache.org>
Sat, 29 Apr 2017 18:56:09 +0000 (18:56 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1793230 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java

index d82c70d3d5ecdee3a33af0d18a5c3a11725724df..dddd3bac1324c966af502e77f242b26d149a9420 100644 (file)
@@ -426,6 +426,8 @@ public class XSSFReader {
 
         private final List<XSSFSheetRef> sheetRefs = new LinkedList();
 
+        // read <sheet name="Sheet6" sheetId="4" r:id="rId6"/>
+        // and add XSSFSheetRef(id="rId6", name="Sheet6") to sheetRefs
         @Override
         public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
             if (localName.equalsIgnoreCase(SHEET)) {
@@ -438,9 +440,10 @@ public class XSSFReader {
                     } else if (attrName.equalsIgnoreCase(ID)) {
                         id = attrs.getValue(i);
                     }
-                }
-                if (name != null && id != null) {
-                    sheetRefs.add(new XSSFSheetRef(id, name));
+                    if (name != null && id != null) {
+                        sheetRefs.add(new XSSFSheetRef(id, name));
+                        break;
+                    }
                 }
             }
         }