From 1f329e8f968014e26351a729ba7e6e3c846e96db Mon Sep 17 00:00:00 2001 From: xuri Date: Tue, 2 Feb 2021 22:23:16 +0800 Subject: This closes #774, closes #775 and closes #776 - correct adjust calculation chain in duplicate rows - correct adjust defined name in the workbook when delete worksheet - use absolute reference in the auto filters defined name to make it compatible with OpenOffice - API `CoordinatesToCellName` have a new optional param to specify if using an absolute reference format - Fix cyclomatic complexity issue of internal function `newFills` and `parseToken` --- lib.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib.go') diff --git a/lib.go b/lib.go index 3f13512..0ebe468 100644 --- a/lib.go +++ b/lib.go @@ -1,4 +1,4 @@ -// Copyright 2016 - 2020 The excelize Authors. All rights reserved. Use of +// Copyright 2016 - 2021 The excelize Authors. All rights reserved. Use of // this source code is governed by a BSD-style license that can be found in // the LICENSE file. // @@ -201,13 +201,20 @@ func CellNameToCoordinates(cell string) (int, int, error) { // Example: // // excelize.CoordinatesToCellName(1, 1) // returns "A1", nil +// excelize.CoordinatesToCellName(1, 1, true) // returns "$A$1", nil // -func CoordinatesToCellName(col, row int) (string, error) { +func CoordinatesToCellName(col, row int, abs ...bool) (string, error) { if col < 1 || row < 1 { return "", fmt.Errorf("invalid cell coordinates [%d, %d]", col, row) } + sign := "" + for _, a := range abs { + if a { + sign = "$" + } + } colname, err := ColumnNumberToName(col) - return colname + strconv.Itoa(row), err + return sign + colname + sign + strconv.Itoa(row), err } // boolPtr returns a pointer to a bool with the given value. -- cgit v1.2.1