prevent export and invoice from breaking on equal sign (#2054)
This commit is contained in:
@@ -21,6 +21,7 @@ use App\Repository\Query\CustomerQuery;
|
||||
use App\Repository\Query\TimesheetQuery;
|
||||
use App\Twig\DateExtensions;
|
||||
use DateTime;
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataType;
|
||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||
@@ -312,7 +313,7 @@ abstract class AbstractSpreadsheetRenderer
|
||||
$columns['description']['render'] = function (Worksheet $sheet, int $row, int $column, ExportItemInterface $entity) use (&$isColumnFormatted, $maxWidth, $wrapText) {
|
||||
$cell = $sheet->getCellByColumnAndRow($column, $row);
|
||||
|
||||
$cell->setValue($entity->getDescription());
|
||||
$cell->setValueExplicit($entity->getDescription(), DataType::TYPE_STRING);
|
||||
|
||||
// Apply wrap text if configured
|
||||
if ($wrapText) {
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace App\Invoice\Renderer;
|
||||
use App\Entity\InvoiceDocument;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataType;
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||
@@ -93,7 +94,11 @@ abstract class AbstractSpreadsheetRenderer extends AbstractRenderer
|
||||
$value = str_replace($searchKey, $content, $value);
|
||||
}
|
||||
|
||||
$cell->setValue($value);
|
||||
if (\is_string($value)) {
|
||||
$cell->setValueExplicit($value, DataType::TYPE_STRING);
|
||||
} else {
|
||||
$cell->setValue($value);
|
||||
}
|
||||
}
|
||||
|
||||
if ($sheetValues !== false && $entryRow < $invoiceItemCount - 1) {
|
||||
|
||||
@@ -140,6 +140,7 @@ abstract class AbstractRendererTest extends KernelTestCase
|
||||
->setDuration(400)
|
||||
->setRate(1947.99)
|
||||
->setUser($user2)
|
||||
->setDescription('== jhg ljhg ') // make sure that spreadsheets don't render it as formula
|
||||
->setActivity($activity)
|
||||
->setProject($project)
|
||||
->setBegin(new \DateTime())
|
||||
|
||||
@@ -162,6 +162,7 @@ trait RendererTestTrait
|
||||
->setRate(111.11)
|
||||
->setUser($user1)
|
||||
->setActivity($activity2)
|
||||
->setDescription('== jhg ljhg ') // make sure that spreadsheets don't render it as formula
|
||||
->setProject($project2)
|
||||
->setBegin(new \DateTime())
|
||||
->setEnd(new \DateTime())
|
||||
|
||||
Reference in New Issue
Block a user