ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.ilAssExcelFormatHelper.php
Go to the documentation of this file.
1 <?php
2 
19 require_once 'Modules/Test/classes/inc.AssessmentConstants.php';
20 
26 {
27  public const escapeString = true;
28 
29  protected $stringEscaping = self::escapeString;
30 
34  public function __construct()
35  {
37  }
38 
43  public function setFormattedExcelTitle($coordinates, $value): void
44  {
45  $this->setCellByCoordinates($coordinates, $value);
46  $this->setColors($coordinates, EXCEL_BACKGROUND_COLOR);
47  $this->setBold($coordinates);
48  }
49 
53  public function setCellByCoordinates($a_coords, $a_value): void
54  {
55  if (is_string($a_value) && !is_numeric($a_value)) {
56  $this->workbook->getActiveSheet()->setCellValueExplicit(
57  $a_coords,
58  $this->prepareValue($a_value),
59  \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING
60  );
61  } else {
62  parent::setCellByCoordinates($a_coords, $a_value);
63  }
64  }
65 
69  public function setCell($a_row, $a_col, $a_value, $datatype = null): void
70  {
71  if (is_string($a_value) && !is_numeric($a_value)) {
72  $coordinate = $this->getCoordByColumnAndRow($a_col, $a_row);
73  $this->workbook->getActiveSheet()->setCellValueExplicit(
74  $coordinate,
75  $this->prepareValue($a_value),
76  \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING
77  );
78  } else {
79  parent::setCell($a_row, $a_col, $a_value);
80  }
81  }
82 
87  protected function prepareString($a_value): string
88  {
89  if ($this->stringEscaping == false) {
90  return $a_value;
91  } else {
92  return strip_tags($a_value);
93  }
94  }
95 
99  public function getStringEscaping()
100  {
101  return $this->stringEscaping;
102  }
103 
107  public function setStringEscaping($stringEscaping): void
108  {
109  $this->stringEscaping = $stringEscaping;
110  }
111 }
const EXCEL_BACKGROUND_COLOR
setCell($a_row, $a_col, $a_value, $datatype=null)
setBold(string $a_coords)
Set cell(s) to bold.
__construct(VocabulariesInterface $vocabularies)
__construct()
ilAssExcelFormatHelper constructor.
getCoordByColumnAndRow(int $pColumn=1, int $pRow=1)
Get cell coordinate (e.g.
setCellByCoordinates($a_coords, $a_value)
setFormattedExcelTitle($coordinates, $value)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setColors(string $a_coords, string $a_background, string $a_font=null)
Set cell(s) colors.
prepareValue($a_value)
Prepare value for cell.