summaryrefslogtreecommitdiff
path: root/calc.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2021-06-29 22:26:55 +0800
committerxuri <xuri.me@gmail.com>2021-06-29 22:26:55 +0800
commitf27624acddfb51916e028f421568840595dbad67 (patch)
tree9f12f7104989ddde09eb3581f2c6a5342f5f9f3d /calc.go
parent24967a5c25499f92b4e58b8d6f8a92a46a7acc7a (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.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/calc.go b/calc.go
index 8ceceec..934ae43 100644
--- a/calc.go
+++ b/calc.go
@@ -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