@@ -21,6 +21,7 @@
Loading
21 21
use App\Repository\Query\TimesheetQuery;
22 22
use App\Twig\DateExtensions;
23 23
use DateTime;
24 +
use PhpOffice\PhpSpreadsheet\Cell\DataType;
24 25
use PhpOffice\PhpSpreadsheet\Shared\Date;
25 26
use PhpOffice\PhpSpreadsheet\Spreadsheet;
26 27
use PhpOffice\PhpSpreadsheet\Style\Border;
@@ -312,7 +313,7 @@
Loading
312 313
            $columns['description']['render'] = function (Worksheet $sheet, int $row, int $column, ExportItemInterface $entity) use (&$isColumnFormatted, $maxWidth, $wrapText) {
313 314
                $cell = $sheet->getCellByColumnAndRow($column, $row);
314 315
315 -
                $cell->setValue($entity->getDescription());
316 +
                $cell->setValueExplicit($entity->getDescription(), DataType::TYPE_STRING);
316 317
317 318
                // Apply wrap text if configured
318 319
                if ($wrapText) {

@@ -12,6 +12,7 @@
Loading
12 12
use App\Entity\InvoiceDocument;
13 13
use App\Invoice\InvoiceModel;
14 14
use PhpOffice\PhpSpreadsheet\Cell\Cell;
15 +
use PhpOffice\PhpSpreadsheet\Cell\DataType;
15 16
use PhpOffice\PhpSpreadsheet\IOFactory;
16 17
use PhpOffice\PhpSpreadsheet\Spreadsheet;
17 18
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
@@ -93,7 +94,11 @@
Loading
93 94
                    $value = str_replace($searchKey, $content, $value);
94 95
                }
95 96
96 -
                $cell->setValue($value);
97 +
                if (\is_string($value)) {
98 +
                    $cell->setValueExplicit($value, DataType::TYPE_STRING);
99 +
                } else {
100 +
                    $cell->setValue($value);
101 +
                }
97 102
            }
98 103
99 104
            if ($sheetValues !== false && $entryRow < $invoiceItemCount - 1) {
Files Complexity Coverage
src 5,788 93.28%
Project Totals (530 files) 5788 93.28%
1
codecov:
2
  notify:
3
    require_ci_to_pass: yes
4

5
coverage:
6
  precision: 2
7
  round: down
8
  range: "80...100"
9

10
  status:
11
    project:
12
      default:
13
        threshold: 0.5%
14
    patch:
15
      default:
16
        threshold: 50%
17
    changes: no
18

19
parsers:
20
  gcov:
21
    branch_detection:
22
      conditional: yes
23
      loop: yes
24
      method: no
25
      macro: no
26

27
comment:
28
  layout: "diff, flags, files"
29
  behavior: default
30
  require_changes: yes
31
  require_base: no
32
  require_head: yes
33
  branches: null
Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file. The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files. The size and color of each slice is representing the number of statements and the coverage, respectively.
Grid
Each block represents a single file in the project. The size and color of each block is represented by the number of statements and the coverage, respectively.
Loading