Bugzilla 52583 - fixed WorkbookUtil#createSafeSheetName to escape colon
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1294180 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a03a39fd54
commit
828ee0cf88
@ -35,7 +35,7 @@ public class WorkbookUtil {
|
|||||||
* <li>never null</li>
|
* <li>never null</li>
|
||||||
* <li>minimum length is 1</li>
|
* <li>minimum length is 1</li>
|
||||||
* <li>maximum length is 31</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>
|
* <li>Sheet names must not begin or end with ' (apostrophe)</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* Invalid characters are replaced by one space character ' '.
|
* Invalid characters are replaced by one space character ' '.
|
||||||
@ -57,6 +57,9 @@ public class WorkbookUtil {
|
|||||||
for (int i=0; i<length; i++) {
|
for (int i=0; i<length; i++) {
|
||||||
char ch = result.charAt(i);
|
char ch = result.charAt(i);
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
|
case '\u0000':
|
||||||
|
case '\u0003':
|
||||||
|
case ':':
|
||||||
case '/':
|
case '/':
|
||||||
case '\\':
|
case '\\':
|
||||||
case '?':
|
case '?':
|
||||||
|
@ -80,5 +80,8 @@ public final class TestWorkbookUtil extends TestCase {
|
|||||||
|
|
||||||
actual = WorkbookUtil.createSafeSheetName("1234567890123456789012345678901TOOLONG");
|
actual = WorkbookUtil.createSafeSheetName("1234567890123456789012345678901TOOLONG");
|
||||||
assertEquals("1234567890123456789012345678901", actual);
|
assertEquals("1234567890123456789012345678901", actual);
|
||||||
|
|
||||||
|
actual = WorkbookUtil.createSafeSheetName("sheet:a4");
|
||||||
|
assertEquals("sheet a4", actual);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user