diff options
-rw-r--r-- | src/java/org/apache/poi/ss/util/WorkbookUtil.java | 5 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/ss/util/TestWorkbookUtil.java | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/java/org/apache/poi/ss/util/WorkbookUtil.java b/src/java/org/apache/poi/ss/util/WorkbookUtil.java index 767e1327e2..8008844b8a 100644 --- a/src/java/org/apache/poi/ss/util/WorkbookUtil.java +++ b/src/java/org/apache/poi/ss/util/WorkbookUtil.java @@ -35,7 +35,7 @@ public class WorkbookUtil { * <li>never null</li> * <li>minimum length is 1</li> * <li>maximum length is 31</li> - * <li>doesn't contain special chars: / \ ? * ] [ </li> + * <li>doesn't contain special chars: : 0x0000, 0x0003, / \ ? * ] [ </li> * <li>Sheet names must not begin or end with ' (apostrophe)</li> * </ul> * Invalid characters are replaced by one space character ' '. @@ -57,6 +57,9 @@ public class WorkbookUtil { for (int i=0; i<length; i++) { char ch = result.charAt(i); switch (ch) { + case '\u0000': + case '\u0003': + case ':': case '/': case '\\': case '?': diff --git a/src/testcases/org/apache/poi/ss/util/TestWorkbookUtil.java b/src/testcases/org/apache/poi/ss/util/TestWorkbookUtil.java index c1e49cab67..2bd305c433 100644 --- a/src/testcases/org/apache/poi/ss/util/TestWorkbookUtil.java +++ b/src/testcases/org/apache/poi/ss/util/TestWorkbookUtil.java @@ -80,5 +80,8 @@ public final class TestWorkbookUtil extends TestCase { actual = WorkbookUtil.createSafeSheetName("1234567890123456789012345678901TOOLONG"); assertEquals("1234567890123456789012345678901", actual); + + actual = WorkbookUtil.createSafeSheetName("sheet:a4"); + assertEquals("sheet a4", actual); } } |