diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java index 33e9e7622..8d6533252 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java @@ -365,7 +365,7 @@ public class HSSFWorkbook public HSSFSheet createSheet(String sheetname) { - if (workbook.doesContainsSheetName( sheetname, -1 )) + if (workbook.doesContainsSheetName( sheetname, sheets.size() )) throw new IllegalArgumentException( "The workbook already contains a sheet of this name" ); HSSFSheet sheet = new HSSFSheet(workbook); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java index 92ff4fce7..d07ed38b0 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java @@ -23,7 +23,7 @@ public class TestHSSFWorkbook extends TestCase throws Exception { HSSFWorkbook b = new HSSFWorkbook( ); - b.createSheet(); + b.createSheet("Sheet1"); b.createSheet(); b.createSheet("name1"); try @@ -56,6 +56,12 @@ public class TestHSSFWorkbook extends TestCase b.setSheetName( 3, "name2", HSSFWorkbook.ENCODING_UTF_16 ); b.setSheetName( 3, "name2", HSSFWorkbook.ENCODING_UTF_16 ); b.setSheetName( 3, "name2" ); + + HSSFWorkbook c = new HSSFWorkbook( ); + c.createSheet("Sheet1"); + c.createSheet("Sheet2"); + c.createSheet("Sheet3"); + c.createSheet("Sheet4"); } } \ No newline at end of file