fix bug with sheetnames generating spreadsheets
This commit is contained in:
parent
a75ac22c91
commit
db2004abb7
|
@ -84,7 +84,7 @@ public class SpreadsheetGenerator {
|
|||
if (name.length() > MAX_SENSITIVE_SHEET_NAME_LEN - 2) {
|
||||
name = name.substring(0, MAX_SENSITIVE_SHEET_NAME_LEN - 2);
|
||||
}
|
||||
String s = name;
|
||||
String s = fixSheetNameChars(name);
|
||||
if (sheetNames.contains(s)) {
|
||||
int i = 1;
|
||||
do {
|
||||
|
@ -96,6 +96,26 @@ public class SpreadsheetGenerator {
|
|||
return wb.createSheet(s);
|
||||
}
|
||||
|
||||
private String fixSheetNameChars(String name) {
|
||||
StringBuilder b = new StringBuilder();
|
||||
for (char ch : name.toCharArray()) {
|
||||
switch (ch) {
|
||||
case '/':
|
||||
case '\\':
|
||||
case '?':
|
||||
case '*':
|
||||
case ']':
|
||||
case '[':
|
||||
case ':':
|
||||
b.append('_');
|
||||
break;
|
||||
default:
|
||||
b.append(ch);
|
||||
}
|
||||
}
|
||||
return b.toString();
|
||||
}
|
||||
|
||||
private static Map<String, CellStyle> createStyles(Workbook wb){
|
||||
Map<String, CellStyle> styles = new HashMap<>();
|
||||
|
||||
|
|
|
@ -82,9 +82,9 @@ public class StructureDefinitionSpreadsheetGenerator extends CanonicalSpreadshee
|
|||
"Slicing Discriminator", "Slicing Description", "Slicing Ordered", "Slicing Rules", "Base Path", "Base Min", "Base Max",
|
||||
"Condition(s)", "Constraint(s)"};
|
||||
|
||||
public StructureDefinitionSpreadsheetGenerator(IWorkerContext context, boolean asXml, boolean hideMustSupportFalse) {
|
||||
public StructureDefinitionSpreadsheetGenerator(IWorkerContext context, boolean valuesAsXml, boolean hideMustSupportFalse) {
|
||||
super(context);
|
||||
this.asXml = asXml;
|
||||
this.asXml = valuesAsXml;
|
||||
this.hideMustSupportFalse = hideMustSupportFalse;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue