diff options
author | mbresson <matthieu.bresson@kapptivate.com> | 2018-01-19 17:32:54 +0800 |
---|---|---|
committer | mbresson <matthieu.bresson@kapptivate.com> | 2018-01-19 17:49:09 +0800 |
commit | 317ef65381b179b863dcd6b1f5479cc576a8376c (patch) | |
tree | 0942444e882e0f6db2aee1092150bcdb75448b85 /styles.go | |
parent | 50cdaed5a36f7112c2ff01504c475457f0d4944e (diff) |
make SetCellStyle quicker by skipping conversions in checkCellInArea, and skipping area checks when we are sure the cell can't be before or past the current row/col
Signed-off-by: Matthieu Bresson
Diffstat (limited to 'styles.go')
-rw-r--r-- | styles.go | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -2327,7 +2327,19 @@ func (f *File) SetCellStyle(sheet, hcell, vcell string, styleID int) { completeCol(xlsx, vyAxis+1, vxAxis+1) for r, row := range xlsx.SheetData.Row { + if r < hyAxis { + continue + } else if r > vyAxis { + break + } + for k, c := range row.C { + if k < hxAxis { + continue + } else if k > vxAxis { + break + } + if checkCellInArea(c.R, hcell+":"+vcell) { xlsx.SheetData.Row[r].C[k].S = styleID } |