diff --git a/src/java/org/apache/poi/ss/util/WorkbookUtil.java b/src/java/org/apache/poi/ss/util/WorkbookUtil.java index 8008844b8..71ad99e69 100644 --- a/src/java/org/apache/poi/ss/util/WorkbookUtil.java +++ b/src/java/org/apache/poi/ss/util/WorkbookUtil.java @@ -45,40 +45,63 @@ public class WorkbookUtil { * @return a valid string, "empty" if to short, "null" if null */ public final static String createSafeSheetName(final String nameProposal) { - if (nameProposal == null) { - return "null"; - } - if (nameProposal.length() < 1) { - return "empty"; - } - final int length = Math.min(31, nameProposal.length()); - final String shortenname = nameProposal.substring(0, length); - final StringBuilder result = new StringBuilder(shortenname); - for (int i=0; i + * Rules: + * + * + * @param nameProposal can be any string, will be truncated if necessary, + * allowed to be null + * @param replaceChar the char to replace invalid characters. + * @return a valid string, "empty" if to short, "null" if null + */ + public final static String createSafeSheetName(final String nameProposal, char replaceChar) { + if (nameProposal == null) { + return "null"; + } + if (nameProposal.length() < 1) { + return "empty"; + } + final int length = Math.min(31, nameProposal.length()); + final String shortenname = nameProposal.substring(0, length); + final StringBuilder result = new StringBuilder(shortenname); + for (int i=0; i