Process Comments in Sylk File (#2277)

Fixes issue #2276.
This commit is contained in:
oleibman 2021-08-26 11:56:13 -07:00 committed by GitHub
parent de5f450856
commit bc9234e5a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 0 deletions

View File

@ -294,6 +294,15 @@ class Slk extends BaseReader
case 'E': case 'E':
$this->processFormula($rowDatum, $hasCalculatedValue, $cellDataFormula, $row, $column); $this->processFormula($rowDatum, $hasCalculatedValue, $cellDataFormula, $row, $column);
break;
case 'A':
$comment = substr($rowDatum, 1);
$columnLetter = Coordinate::stringFromColumnIndex((int) $column);
$spreadsheet->getActiveSheet()
->getComment("$columnLetter$row")
->getText()
->createText($comment);
break; break;
} }
} }

View File

@ -0,0 +1,23 @@
<?php
namespace PhpOffice\PhpSpreadsheetTests\Reader\Slk;
use PhpOffice\PhpSpreadsheet\Reader\Slk;
class SlkCommentsTest extends \PHPUnit\Framework\TestCase
{
public function testComments(): void
{
$testbook = 'tests/data/Reader/Slk/issue.2276.slk';
$reader = new Slk();
$spreadsheet = $reader->load($testbook);
$sheet = $spreadsheet->getActiveSheet();
$comments = $sheet->getComments();
self::assertCount(2, $comments);
self::assertArrayHasKey('A1', $comments);
self::assertArrayHasKey('B2', $comments);
self::assertSame("Zeratul:\nEn Taro Adun!", $sheet->getComment('A1')->getText()->getPlainText());
self::assertSame("Arthas:\nFrostmourne Hungers.", $sheet->getComment('B2')->getText()->getPlainText());
$spreadsheet->disconnectWorksheets();
}
}

View File

@ -0,0 +1,10 @@
ID;PWXL;N;E
P;PGeneral
F;P0;DG0G10;M320
B;Y3;X1;D0 0 9 0
C;Y1;X1;AZeratul: :En Taro Adun!
C;Y2;X2;AArthas: :Frostmourne Hungers.
C;Y1;X1;K1
C;Y1;X2;K2
C;Y2;X1;K3
E