aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/org/apache/poi/ss/util/WorkbookUtil.java5
-rw-r--r--src/testcases/org/apache/poi/ss/util/TestWorkbookUtil.java3
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);
}
}