ApachePOI
org.apache.poi.xssf.usermodel
XSSFWorkbook
getUniqueSheetName
String name;
if (baseName
.length() + index
.length() + 2 < 31)
name = baseName + " (" + index + ")";
name = baseName.substring(0, 31 - index.length() - 2) + "(" + index + ")";
if
(getSheetIndex(name)
== -1)
return name →
return →
while (true)
→ int uniqueIndex = 2;
String baseName = srcName;
int bracketPos = srcName.lastIndexOf('(');
if (bracketPos >
0 && srcName
.endsWith(")"))
String suffix = srcName.substring(bracketPos + 1, srcName.length() - ")".length());
try
uniqueIndex = Integer.parseInt(suffix.trim());
uniqueIndex++;
baseName = srcName.substring(0, bracketPos).trim();
catch (NumberFormatException)
NumberFormatException e
String index = Integer.toString(uniqueIndex++);
true
false
true
false
false
true
false
true