diff options
author | xuri <xuri.me@gmail.com> | 2021-06-29 22:26:55 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2021-06-29 22:26:55 +0800 |
commit | f27624acddfb51916e028f421568840595dbad67 (patch) | |
tree | 9f12f7104989ddde09eb3581f2c6a5342f5f9f3d /calc.go | |
parent | 24967a5c25499f92b4e58b8d6f8a92a46a7acc7a (diff) |
This closes #866, support use the defined name to reference the data range in pivot table options
- Fix incorrect scope when getting defined name
- Update docs: use column number instead of index on get column width
Diffstat (limited to 'calc.go')
-rw-r--r-- | calc.go | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -955,16 +955,23 @@ func isOperatorPrefixToken(token efp.Token) bool { // getDefinedNameRefTo convert defined name to reference range. func (f *File) getDefinedNameRefTo(definedNameName string, currentSheet string) (refTo string) { + var workbookRefTo, worksheetRefTo string for _, definedName := range f.GetDefinedName() { if definedName.Name == definedNameName { - refTo = definedName.RefersTo // worksheet scope takes precedence over scope workbook when both definedNames exist + if definedName.Scope == "Workbook" { + workbookRefTo = definedName.RefersTo + } if definedName.Scope == currentSheet { - break + worksheetRefTo = definedName.RefersTo } } } - return refTo + refTo = workbookRefTo + if worksheetRefTo != "" { + refTo = worksheetRefTo + } + return } // parseToken parse basic arithmetic operator priority and evaluate based on |