]> source.dussan.org Git - poi.git/commitdiff
Implementation of XSSFWorkbook#getSheet(String name).\rImplementation of XSSFWorkbook...
authorUgo Cei <ugo@apache.org>
Thu, 24 Jan 2008 14:09:34 +0000 (14:09 +0000)
committerUgo Cei <ugo@apache.org>
Thu, 24 Jan 2008 14:09:34 +0000 (14:09 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@614877 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java

index a7af4ade3362cd9efb7727b5f23547596641504c..508006cf6253276ccafaf3138044a60097acb5b6 100644 (file)
@@ -250,7 +250,12 @@ public class XSSFWorkbook implements Workbook {
     }
 
     public Sheet getSheet(String name) {
-        // TODO Auto-generated method stub
+        CTSheet[] sheets = this.workbook.getSheets().getSheetArray();  
+        for (int i = 0 ; i < sheets.length ; ++i) {
+            if (name.equals(sheets[i].getName())) {
+                return this.sheets.get(i);
+            }
+        }
         return null;
     }
 
@@ -297,8 +302,8 @@ public class XSSFWorkbook implements Workbook {
     }
 
     public void removeSheetAt(int index) {
-        // TODO Auto-generated method stub
-
+        XSSFSheet sheet = this.sheets.remove(index);
+        this.workbook.getSheets().removeSheet(index);
     }
 
     public void setBackupFlag(boolean backupValue) {
index e739b544946f839af4ae849cffc4428575434f98..d1ca3883e1b48a2f3b4956794813b611ea93313b 100644 (file)
@@ -90,4 +90,28 @@ public class TestXSSFWorkbook extends TestCase {
         assertEquals(3, workbook.getNumberOfSheets());
         assertEquals("clonedsheet(1)", workbook.getSheetName(2));
     }
+    
+    public void testGetSheetByName() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet1 = workbook.createSheet("sheet1");
+        Sheet sheet2 = workbook.createSheet("sheet2");
+        assertSame(sheet1, workbook.getSheet("sheet1"));
+        assertSame(sheet2, workbook.getSheet("sheet2"));
+        assertNull(workbook.getSheet("nosheet"));
+    }
+    
+    public void testRemoveSheetAt() throws Exception {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet1 = workbook.createSheet("sheet1");
+        Sheet sheet2 = workbook.createSheet("sheet2");
+        Sheet sheet3 = workbook.createSheet("sheet3");
+        workbook.removeSheetAt(1);
+        assertEquals(2, workbook.getNumberOfSheets());
+        assertEquals("sheet3", workbook.getSheetName(1));
+        workbook.removeSheetAt(0);
+        assertEquals(1, workbook.getNumberOfSheets());
+        assertEquals("sheet3", workbook.getSheetName(0));
+        workbook.removeSheetAt(0);
+        assertEquals(0, workbook.getNumberOfSheets());
+    }
 }