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: .github/ISSUE_TEMPLATE.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,20 @@ $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
26
26
27
27
// add code that show the issue here...
28
28
```
29
+
If this is an issue with reading a specific spreadsheet file, then it may be appropriate to provide a sample file that demonstrates the problem; but please keep it as small as possible, and sanitize any confidential information before uploading.
30
+
31
+
### What features do you think are causing the issue
32
+
33
+
-[ ] Reader
34
+
-[ ] Writer
35
+
-[ ] Styles
36
+
-[ ] Data Validations
37
+
-[ ] Formula Calulations
38
+
-[ ] Charts
39
+
-[ ] AutoFilter
40
+
-[ ] Form Elements
41
+
42
+
### Does an issue affect all spreadsheet file formats? If not, which formats are affected?
29
43
30
44
31
45
### Which versions of PhpSpreadsheet and PHP are affected?
Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,21 @@ This is:
3
3
```
4
4
- [ ] a bugfix
5
5
- [ ] a new feature
6
+
- [ ] refactoring
7
+
- [ ] additional unit tests
6
8
```
7
9
8
10
Checklist:
9
11
10
12
-[ ] Changes are covered by unit tests
13
+
-[ ] Changes are covered by existing unit tests
14
+
-[ ] New unit tests have been added
11
15
-[ ] Code style is respected
12
16
-[ ] Commit message explains **why** the change is made (see https://github.com/erlang/otp/wiki/Writing-good-commit-messages)
13
17
-[ ] CHANGELOG.md contains a short summary of the change
14
18
-[ ] Documentation is updated as necessary
15
19
16
20
### Why this change is needed?
21
+
22
+
Provide an explanation of why this change is needed, with links to any Issues (if appropriate).
23
+
If this is a bugfix or a new feature, and there are no existing Issues, then please also create an issue that will make it easier to track progress with this PR.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+43-4Lines changed: 43 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,19 +9,29 @@ 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
+
- Ods Writer support for Freeze Pane [Issue #2013](https://github.com/PHPOffice/PhpSpreadsheet/issues/2013)[PR #2755](https://github.com/PHPOffice/PhpSpreadsheet/pull/2755)
13
+
- Ods Writer support for setting column width/row height (including the use of AutoSize) [Issue #2346](https://github.com/PHPOffice/PhpSpreadsheet/issues/2346)[PR #2753](https://github.com/PHPOffice/PhpSpreadsheet/pull/2753)
14
+
- 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.
15
+
- Implementation of the FILTER(), SORT(), SORTBY() and UNIQUE() Lookup/Reference (array) functions.
13
16
- Implementation of the ISREF() Information function.
14
17
- Added support for reading "formatted" numeric values from Csv files; although default behaviour of reading these values as strings is preserved.
15
18
16
-
(i.e a value of "12,345.67" can be read as numeric `1235.67`, not simply as a string `"12,345.67"`, if the `castFormattedNumberToNumeric()` setting is enabled.
19
+
(i.e a value of "12,345.67" can be read as numeric `12345.67`, not simply as a string `"12,345.67"`, if the `castFormattedNumberToNumeric()` setting is enabled.
17
20
18
21
This functionality is locale-aware, using the server's locale settings to identify the thousands and decimal separators.
19
22
20
-
- Support for two cell anchor drawing of images. [#2532](https://github.com/PHPOffice/PhpSpreadsheet/pull/2532)
23
+
- Support for two cell anchor drawing of images. [#2532](https://github.com/PHPOffice/PhpSpreadsheet/pull/2532)[#2674](https://github.com/PHPOffice/PhpSpreadsheet/pull/2674)
21
24
- Limited support for Xls Reader to handle Conditional Formatting:
22
25
23
26
Ranges and Rules are read, but style is currently limited to font size, weight and color; and to fill style and color.
24
27
28
+
- Add ability to suppress Mac line ending check for CSV [#2623](https://github.com/PHPOffice/PhpSpreadsheet/pull/2623)
29
+
- Initial support for creating and writing Tables (Xlsx Writer only) [PR #2671](https://github.com/PHPOffice/PhpSpreadsheet/pull/2671)
30
+
31
+
See `/samples/Table` for examples of use.
32
+
33
+
Note that PreCalculateFormulas needs to be disabled when saving spreadsheets containing tables with formulae (totals or column formulae).
34
+
25
35
### Changed
26
36
27
37
- Gnumeric Reader now loads number formatting for cells.
@@ -37,26 +47,55 @@ and this project adheres to [Semantic Versioning](https://semver.org).
37
47
### Deprecated
38
48
39
49
- 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.
50
+
- 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`).
51
+
52
+
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.
53
+
This includes the methods:
54
+
-`setCellValueByColumnAndRow()` use the equivalent `setCellValue()`
55
+
-`setCellValueExplicitByColumnAndRow()` use the equivalent `setCellValueExplicit()`
56
+
-`getCellByColumnAndRow()` use the equivalent `getCell()`
57
+
-`cellExistsByColumnAndRow()` use the equivalent `cellExists()`
58
+
-`getStyleByColumnAndRow()` use the equivalent `getStyle()`
59
+
-`setBreakByColumnAndRow()` use the equivalent `setBreak()`
60
+
-`mergeCellsByColumnAndRow()` use the equivalent `mergeCells()`
61
+
-`unmergeCellsByColumnAndRow()` use the equivalent `unmergeCells()`
62
+
-`protectCellsByColumnAndRow()` use the equivalent `protectCells()`
63
+
-`unprotectCellsByColumnAndRow()` use the equivalent `unprotectCells()`
64
+
-`setAutoFilterByColumnAndRow()` use the equivalent `setAutoFilter()`
65
+
-`freezePaneByColumnAndRow()` use the equivalent `freezePane()`
66
+
-`getCommentByColumnAndRow()` use the equivalent `getComment()`
67
+
-`setSelectedCellByColumnAndRow()` use the equivalent `setSelectedCells()`
68
+
69
+
This change provides more consistency in the methods (not every "by cell address" method has an equivalent "byColumnAndRow" method);
70
+
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.
40
71
41
72
### Removed
42
73
43
74
- Nothing
44
75
45
76
### Fixed
46
77
78
+
- Make allowance for the AutoFilter dropdown icon in the first row of an Autofilter range when using Autosize columns. [Issue #2413](https://github.com/PHPOffice/PhpSpreadsheet/issues/2413)[PR #2754](https://github.com/PHPOffice/PhpSpreadsheet/pull/2754)
79
+
- Support for "chained" ranges (e.g. `A5:C10:C20:F1`) in the Calculation Engine; and also support for using named ranges with the Range operator (e.g. `NamedRange1:NamedRange2`) [Issue #2730](https://github.com/PHPOffice/PhpSpreadsheet/issues/2730)[PR #2746](https://github.com/PHPOffice/PhpSpreadsheet/pull/2746)
47
80
- Update Conditional Formatting ranges and rule conditions when inserting/deleting rows/columns [Issue #2678](https://github.com/PHPOffice/PhpSpreadsheet/issues/2678)[PR #2689](https://github.com/PHPOffice/PhpSpreadsheet/pull/2689)
48
81
- Allow `INDIRECT()` to accept row/column ranges as well as cell ranges [PR #2687](https://github.com/PHPOffice/PhpSpreadsheet/pull/2687)
49
82
- Fix bug when deleting cells with hyperlinks, where the hyperlink was then being "inherited" by whatever cell moved to that cell address.
50
83
- Fix bug in Conditional Formatting in the Xls Writer that resulted in a broken file when there were multiple conditional ranges in a worksheet.
51
84
- Fix Conditional Formatting in the Xls Writer to work with rules that contain string literals, cell references and formulae.
52
85
- Fix for setting Active Sheet to the first loaded worksheet when bookViews element isn't defined [Issue #2666](https://github.com/PHPOffice/PhpSpreadsheet/issues/2666)[PR #2669](https://github.com/PHPOffice/PhpSpreadsheet/pull/2669)
53
-
- Fixed behaviour of XLSX font style vertical align settings.
86
+
- Fixed behaviour of XLSX font style vertical align settings[PR #2619](https://github.com/PHPOffice/PhpSpreadsheet/pull/2619)
54
87
- Resolved formula translations to handle separators (row and column) for array functions as well as for function argument separators; and cleanly handle nesting levels.
55
88
56
89
Note that this method is used when translating Excel functions between `en_us` and other locale languages, as well as when converting formulae between different spreadsheet formats (e.g. Ods to Excel).
57
90
58
91
Nor is this a perfect solution, as there may still be issues when function calls have array arguments that themselves contain function calls; but it's still better than the current logic.
59
92
- Fix for escaping double quotes within a formula [Issue #1971](https://github.com/PHPOffice/PhpSpreadsheet/issues/1971)[PR #2651](https://github.com/PHPOffice/PhpSpreadsheet/pull/2651)
93
+
- Change open mode for output from `wb+` to `wb`[Issue #2372](https://github.com/PHPOffice/PhpSpreadsheet/issues/2372)[PR #2657](https://github.com/PHPOffice/PhpSpreadsheet/pull/2657)
94
+
- Use color palette if supplied [Issue #2499](https://github.com/PHPOffice/PhpSpreadsheet/issues/2499)[PR #2595](https://github.com/PHPOffice/PhpSpreadsheet/pull/2595)
95
+
- Xls reader treat drawing offsets as int rather than float [PR #2648](https://github.com/PHPOffice/PhpSpreadsheet/pull/2648)
96
+
- Handle booleans in conditional styles properly [PR #2654](https://github.com/PHPOffice/PhpSpreadsheet/pull/2654)
97
+
- Fix for reading files in the root directory of a ZipFile, which should not be prefixed by relative paths ("./") as dirname($filename) does by default.
98
+
- Fix invalid style of cells in empty columns with columnDimensions and rows with rowDimensions in added external sheet. [PR #2739](https://github.com/PHPOffice/PhpSpreadsheet/pull/2739)
Setting the row height to `-1` tells MS Excel to display the column using its default height, which is based on the character font size.
1272
+
1273
+
If you have wrapped text in a cell, then the `-1` default will only set the row height to display a single line of that wrapped text.
1274
+
If you need to calculate the actual height for the row, then count the lines that should be displayed (count the `\n` and add 1); then adjust for the font.
1275
+
The adjustment for Calibri 11 is approximately 14.5; for Calibri 12 15.9, etc.
0 commit comments