-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCellInfo.php
49 lines (39 loc) · 1.01 KB
/
CellInfo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
namespace Videni\BetterExcel;
class CellInfo
{
public $resolvedValue;
public $columnIndex;
public $rowIndex;
/**
*
* @var Style|null
*/
public $style;
/**
* @var string|null
*/
public $columnLetter;
public static function create($resolvedValue, $columnIndex, $rowIndex, Style $style = null, $columnLetter = null)
{
$self = new CellInfo();
$self->resolvedValue = $resolvedValue;
$self->columnIndex = $columnIndex;
$self->rowIndex = $rowIndex;
$self->style = $style;
$self->columnLetter = $columnLetter;
return $self;
}
public function isRenderingObject(): bool
{
return is_object($this->resolvedValue) && method_exists($this->resolvedValue, 'render');
}
public function render($writer)
{
if ($this->isRenderingObject()) {
$this->resolvedValue->render($writer, $this);
return null;
}
return $this->resolvedValue;
}
}