Merge branch 'master' into ReferenceHelper-Performance-Improvements
This commit is contained in:
commit
00f570aed5
|
|
@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org).
|
|||
|
||||
### Added
|
||||
|
||||
- Added `removeComment()` method for Worksheet [PR #2875](https://github.com/PHPOffice/PhpSpreadsheet/pull/2875/files)
|
||||
- Add point size option for scatter charts [Issue #2298](https://github.com/PHPOffice/PhpSpreadsheet/issues/2298) [PR #2801](https://github.com/PHPOffice/PhpSpreadsheet/pull/2801)
|
||||
- Basic support for Xlsx reading/writing Chart Sheets [PR #2830](https://github.com/PHPOffice/PhpSpreadsheet/pull/2830)
|
||||
|
||||
|
|
|
|||
|
|
@ -2600,6 +2600,33 @@ class Worksheet implements IComparable
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove comment from cell.
|
||||
*
|
||||
* @param array<int>|CellAddress|string $cellCoordinate Coordinate of the cell as a string, eg: 'C5';
|
||||
* or as an array of [$columnIndex, $row] (e.g. [3, 5]), or a CellAddress object.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function removeComment($cellCoordinate)
|
||||
{
|
||||
$cellAddress = Functions::trimSheetFromCellReference(Validations::validateCellAddress($cellCoordinate));
|
||||
|
||||
if (Coordinate::coordinateIsRange($cellAddress)) {
|
||||
throw new Exception('Cell coordinate string can not be a range of cells.');
|
||||
} elseif (strpos($cellAddress, '$') !== false) {
|
||||
throw new Exception('Cell coordinate string must not be absolute.');
|
||||
} elseif ($cellAddress == '') {
|
||||
throw new Exception('Cell coordinate can not be zero-length string.');
|
||||
}
|
||||
// Check if we have a comment for this cell and delete it
|
||||
if (isset($this->comments[$cellAddress])) {
|
||||
unset($this->comments[$cellAddress]);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get comment for cell.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace PhpOffice\PhpSpreadsheetTests;
|
|||
use PhpOffice\PhpSpreadsheet\Comment;
|
||||
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||
use PhpOffice\PhpSpreadsheet\RichText\TextElement;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
|
@ -83,4 +84,14 @@ class CommentTest extends TestCase
|
|||
$comment->setText($test);
|
||||
self::assertEquals('This is a test comment', (string) $comment);
|
||||
}
|
||||
|
||||
public function testRemoveComment(): void
|
||||
{
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$sheet = $spreadsheet->getActiveSheet();
|
||||
$sheet->getComment('A2')->getText()->createText('Comment to delete');
|
||||
self::assertArrayHasKey('A2', $sheet->getComments());
|
||||
$sheet->removeComment('A2');
|
||||
self::assertEmpty($sheet->getComments());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue