sanitizeSheetName static method
Excel sheet names: max 31 chars, no : \ / ? * [ ], not empty,
not wrapped in a single quote.
Implementation
static String sanitizeSheetName(String title) {
String name = title.replaceAll(RegExp(r'[:\\/?*\[\]]'), ' ').trim();
if (name.startsWith("'")) {
name = name.substring(1).trimLeft();
}
if (name.endsWith("'")) {
name = name.substring(0, name.length - 1).trimRight();
}
if (name.isEmpty) {
name = 'Sheet1';
}
if (name.length > 31) {
name = name.substring(0, 31).trimRight();
if (name.endsWith("'")) {
name = name.substring(0, name.length - 1).trimRight();
}
}
if (name.isEmpty) {
return 'Sheet1';
}
return name;
}