summaryrefslogtreecommitdiff
path: root/adjust.go
diff options
context:
space:
mode:
authorWang Yaoshen <liser.jrqlxue@gmail.com>2020-08-14 10:32:58 +0800
committerGitHub <noreply@github.com>2020-08-14 10:32:58 +0800
commitc98fd7e5d05ee35d636304bb9864bb2943996c23 (patch)
treea57e325757c527485eabced9572c69c563c33fd0 /adjust.go
parent843bd24e56450791ad122a2f3875956a0a70ec6e (diff)
Fix issue #686 RemoveRow slice bounds out of range (#687)
fix Hyperlinks update error
Diffstat (limited to 'adjust.go')
-rw-r--r--adjust.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/adjust.go b/adjust.go
index 226ea9e..40898d9 100644
--- a/adjust.go
+++ b/adjust.go
@@ -109,14 +109,15 @@ func (f *File) adjustHyperlinks(xlsx *xlsxWorksheet, sheet string, dir adjustDir
// order is important
if offset < 0 {
- for rowIdx, linkData := range xlsx.Hyperlinks.Hyperlink {
+ for i := len(xlsx.Hyperlinks.Hyperlink) - 1; i >= 0; i-- {
+ linkData := xlsx.Hyperlinks.Hyperlink[i]
colNum, rowNum, _ := CellNameToCoordinates(linkData.Ref)
if (dir == rows && num == rowNum) || (dir == columns && num == colNum) {
f.deleteSheetRelationships(sheet, linkData.RID)
if len(xlsx.Hyperlinks.Hyperlink) > 1 {
- xlsx.Hyperlinks.Hyperlink = append(xlsx.Hyperlinks.Hyperlink[:rowIdx],
- xlsx.Hyperlinks.Hyperlink[rowIdx+1:]...)
+ xlsx.Hyperlinks.Hyperlink = append(xlsx.Hyperlinks.Hyperlink[:i],
+ xlsx.Hyperlinks.Hyperlink[i+1:]...)
} else {
xlsx.Hyperlinks = nil
}