diff options
| author | Michael <osiris2918@gmail.com> | 2019-03-23 03:09:48 -0500 |
|---|---|---|
| committer | xuri <xuri.me@gmail.com> | 2019-03-23 16:09:48 +0800 |
| commit | 2874d75555102b8266477cdda2966ff37dde6b12 (patch) | |
| tree | 8ae0da9a1f477c36f49acef0889110dbf149892a /sheet.go | |
| parent | 677a22d99497fcc24135c949ab721d80ba5aa92a (diff) | |
Add benchmark for adding images to sheet (#367)
* Add benchmark for adding images to sheet
This should help track performance regressions in future changes.
* Only transform sheet name if necessary
Diffstat (limited to 'sheet.go')
| -rw-r--r-- | sheet.go | 24 |
1 files changed, 13 insertions, 11 deletions
@@ -778,18 +778,20 @@ func (f *File) UnprotectSheet(sheet string) { // trimSheetName provides a function to trim invaild characters by given worksheet // name. func trimSheetName(name string) string { - var r []rune - for _, v := range name { - switch v { - case 58, 92, 47, 63, 42, 91, 93: // replace :\/?*[] - continue - default: - r = append(r, v) + if strings.ContainsAny(name, ":\\/?*[]") || utf8.RuneCountInString(name) > 31 { + r := make([]rune, 0, 31) + for _, v := range name { + switch v { + case 58, 92, 47, 63, 42, 91, 93: // replace :\/?*[] + continue + default: + r = append(r, v) + } + if len(r) == 31 { + break + } } - } - name = string(r) - if utf8.RuneCountInString(name) > 31 { - name = string([]rune(name)[0:31]) + name = string(r) } return name } |
