You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+23-1Lines changed: 23 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org).
9
9
10
10
### Added
11
11
12
-
- Implementation of the FILTER(), SORT(), SORTBY() and UNIQUE() Lookup/Reference (array) functions
12
+
- Introduced CellAddress, CellRange, RowRange and ColumnRange value objects that can be used as an alternative to a string value (e.g. `'C5'`, `'B2:D4'`, `'2:2'` or `'B:C'`) in appropriate contexts.
13
+
- Implementation of the FILTER(), SORT(), SORTBY() and UNIQUE() Lookup/Reference (array) functions.
13
14
- Implementation of the ISREF() Information function.
14
15
- Added support for reading "formatted" numeric values from Csv files; although default behaviour of reading these values as strings is preserved.
15
16
@@ -37,6 +38,27 @@ and this project adheres to [Semantic Versioning](https://semver.org).
37
38
### Deprecated
38
39
39
40
- All Excel Function implementations in `Calculation\Functions` (including the Error functions) have been moved to dedicated classes for groups of related functions. See the docblocks against all the deprecated methods for details of the new methods to call instead. At some point, these old classes will be deleted.
41
+
- Worksheet methods that reference cells "byColumnandRow". All such methods have an equivalent that references the cell by its address (e.g. '`E3'` rather than `5, 3`).
42
+
43
+
These functions now accept either a cell address string (`'E3')` or an array with columnId and rowId (`[5, 3]`) or a new `CellAddress` object as their `cellAddress`/`coordinate` argument.
44
+
This includes the methods:
45
+
-`setCellValueByColumnAndRow()` use the equivalent `setCellValue()`
46
+
-`setCellValueExplicitByColumnAndRow()` use the equivalent `setCellValueExplicit()`
47
+
-`getCellByColumnAndRow()` use the equivalent `getCell()`
48
+
-`cellExistsByColumnAndRow()` use the equivalent `cellExists()`
49
+
-`getStyleByColumnAndRow()` use the equivalent `getStyle()`
50
+
-`setBreakByColumnAndRow()` use the equivalent `setBreak()`
51
+
-`mergeCellsByColumnAndRow()` use the equivalent `mergeCells()`
52
+
-`unmergeCellsByColumnAndRow()` use the equivalent `unmergeCells()`
53
+
-`protectCellsByColumnAndRow()` use the equivalent `protectCells()`
54
+
-`unprotectCellsByColumnAndRow()` use the equivalent `unprotectCells()`
55
+
-`setAutoFilterByColumnAndRow()` use the equivalent `setAutoFilter()`
56
+
-`freezePaneByColumnAndRow()` use the equivalent `freezePane()`
57
+
-`getCommentByColumnAndRow()` use the equivalent `getComment()`
58
+
-`setSelectedCellByColumnAndRow()` use the equivalent `setSelectedCells()`
59
+
60
+
This change provides more consistency in the methods (not every "by cell address" method has an equivalent "byColumnAndRow" method);
61
+
and the "by cell address" methods often provide more flexibility, such as allowing a range of cells, or referencing them by passing the defined name of a named range as the argument.
0 commit comments