This commit is contained in:
Buddhism8003 2024-10-13 15:13:54 +02:00
parent 3933c7d373
commit e6ddf9fd42
12 changed files with 3260 additions and 0 deletions

22
composer.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "cso/excel2html",
"description": "Convert Excel-sheets to their equivalent HTML-table representation",
"autoload": {
"psr-4": {
"CSO\\Excel2Html\\": "src/",
"CSO\\Excel2Html\\Exceptions\\": "src/exceptions/"
}
},
"authors": [
{
"name": "Sebastian Lindemeier",
"email": "lindemeier.sebastian@creativesolutionsoffice.com"
}
],
"require": {
"phpoffice/phpspreadsheet": "^3.3"
},
"require-dev": {
"phpunit/phpunit": "^11"
}
}

2151
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

14
index.php Normal file
View File

@ -0,0 +1,14 @@
<?php
use CSO\Excel2Html\HtmlConverter;
use CSO\Excel2Html\StyleOptions;
require_once 'vendor/autoload.php';
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::TABLE_SIZE_FIXED | StyleOptions::WITH_COLUMN_WIDTH | StyleOptions::COLUMN_WIDTH_PROPORTIONAL,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
echo $conv->getHtml();

329
src/HtmlConverter.php Normal file
View File

@ -0,0 +1,329 @@
<?php
namespace CSO\Excel2Html;
use CSO\Excel2Html\Exceptions\SheetNotFoudException;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Cell\Cell;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Fill;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Font;
class HtmlConverter {
//properties
protected int $styleOption;
protected float $scale;
protected string $html;
protected Worksheet $worksheet;
/**
* columns to read from Spreadsheet
* @var string[]|null
*/
protected array|null $columns;
//ctor
private function __construct(Worksheet $worksheet, int $styleOption = 0, array|null $columns = null, float $scale = 1.0){
$this->styleOption = $styleOption;
$this->columns = $columns;
$this->scale = $scale;
$this->worksheet = $worksheet;
$this->html = '';
}
//statics
public static function fromSpreadsheet(Spreadsheet $spreadsheet, int $styleOption = 0, string|null $worksheetName = null, array|null $columns = null, float $scale = 1.0): HtmlConverter{
$worksheet = $spreadsheet->getSheetByName($worksheetName);
if (is_null($worksheet)){
throw new SheetNotFoudException();
}
return self::fromWorksheet($worksheet, $styleOption, $columns, $scale);
}
public static function fromWorksheet(Worksheet $worksheet, int $styleOption = 0, array|null $columns = null, float $scale = 1.0): HtmlConverter{
$instance = new self($worksheet, $styleOption, $columns, $scale);
return $instance;
}
public static function fromFilepath(string $filePath, int $styleOption = 0, string|null $worksheetName = null, array|null $columns = null, float $scale = 1.0): HtmlConverter{
$spreadsheet = HtmlConverter::getSpreadsheetFromFilepath($filePath);
return self::fromSpreadsheet($spreadsheet, $styleOption, $worksheetName, $columns, $scale);
}
//static helpers
private static function getSpreadsheetFromFilepath(string $filePath): Spreadsheet{
// init spreadsheet
$inputFileType = IOFactory::identify($filePath);
/** Create a new Reader of the type that has been identified **/
$reader = IOFactory::createReader($inputFileType);
/** Load $inputFileName to a Spreadsheet Object **/
return $reader->load($filePath);
}
//methods
public function getHtml(): string{
if(!(is_null($this->html) || $this->html == '')){
return $this->html;
}
// Get the highest row and column numbers referenced in the worksheet
$tblWidth = $this->getTableWidth();
//Get first data row
$row = $this->getFirstDataRowIndex();
$highestRow = $this->worksheet->getHighestDataRow();
ob_start();
?>
<table class="cso-excel-table" style="border-collapse: collapse; <?php echo $this->styleOption & StyleOptions::TABLE_SIZE_FIXED ? 'width:100%; table-layout: fixed; max-width: '.$tblWidth.'px;' : '' ?>">
<colgroup>
<?php foreach ($this->columns as $col): ?>
<?php
$colWidth = '';
if (($this->styleOption & StyleOptions::COLUMN_WIDTH_PROPORTIONAL) && ($this->styleOption & StyleOptions::WITH_COLUMN_WIDTH)){
$colWidth = 'width: '.($this->getColumnWidthInt($col) / $tblWidth * 100).'%;';
}
else if ($this->styleOption & StyleOptions::WITH_COLUMN_WIDTH){
$colWidth = 'width: '.$this->getColumnWidthInt($col).'px;';
}
?>
<col style="<?php echo $colWidth ?>"></col>
<?php endforeach; ?>
</colgroup>
<thead>
<tr>
<?php foreach ($this->columns as $col): ?>
<th>
<?php echo $this->getCellValue($this->worksheet->getCell($col . $row)) ?>
</th>
<?php endforeach; ?>
</tr>
</thead>
<tbody>
<?php for ($row = $row + 1; $row <= $highestRow; ++$row): ?>
<tr excel-row="<?php echo $row ?>" style="height: <?php echo $this->getRowHeight($row) ?>px;">
<?php for ($i = 0; $i < count($this->columns);): ?>
<?php
$col = $this->columns[$i];
$cell = $this->worksheet->getCell($col . $row);
$colspan = $this->getColSpan($cell);
$value = $this->getCellValue($cell);
if(is_null($value))
$value = '<br/>';
$tag = '<text>';
$closeTag = '</text>';
$font = $cell->getStyle()->getFont();
if ($font->getBold()){
$tag .= '<b>';
$closeTag = '</b>' . $closeTag;
}
else if ($font->getItalic()){
$tag .= '<i>';
$closeTag = '</i>' . $closeTag;
}
else if ($font->getSubscript()){
$tag .= '<sub>';
$closeTag = '</sub>' . $closeTag;
}
else if ($font->getSuperscript()){
$tag .= '<sup>';
$closeTag = '</sup>' . $closeTag;
}
?>
<td colspan="<?php echo $colspan ?>" excel-col="<?php echo $cell->getColumn() ?>" excel-cell-range="<?php echo $cell->getMergeRange() ?>" style="background: <?php echo $this->getBackground($cell) ?>; <?php echo $this->getBorder($cell) ?>; white-space: <?php echo !$cell->getStyle()->getAlignment()->getWrapText() ? 'nowrap' : ''; ?>;">
<?php if ($cell->hasHyperlink()): ?>
<a href="<?php echo $cell->getHyperlink()->getUrl() ?>" <?php echo (isset($_GET['linksInNewTabs']) && ($_GET['linksInNewTabs'] == 1)) ? 'target="_blank" rel="noopener noreferrer"' : '' ?> style="text-decoration: <?php echo $this->getTextDecoration($cell) ?>; color: #<?php echo $font->getColor()->getRGB()?>; font-size: <?php echo $this->getFontSizePt($cell) ?>pt; text-align: <?php echo $this->getAlignment($cell) ?>;">
<text>
<?php echo $tag ?>
<?php echo $value?>
<?php echo $closeTag ?>
</text>
</a>
<?php else: ?>
<span style="display: block; width: 100%; color: #<?php echo $font->getColor()->getRGB()?>; font-size: <?php echo $this->getFontSizePt($cell) ?>pt; text-align: <?php echo $this->getAlignment($cell) ?>;">
<text>
<?php echo $tag ?>
<?php echo $value?>
<?php echo $closeTag ?>
</text>
</span>
<?php endif; ?>
</td>
<?php $i += $colspan; ?>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</tbody>
</table>
<?php
$this->html = ob_get_clean();
return $this->html;
}
//private methods
private function getColumnWidthInt(string $colName): float{
$width = $this->worksheet->getColumnDimension($colName)->getWidth('px');
if($width < 0){
$width = $this->worksheet->getDefaultColumnDimension()->getWidth('px');
}
if($this->worksheet->getColumnDimension($colName)->getCollapsed()){
$width = 0;
}
$colScale = 1;
if($this->scale > 1.0){
$colScale = $this->scale * 0.95;
}
return $width * $colScale;
}
private function getTableWidth(): float|int{
$colWidth = 0;
foreach ($this->columns as $col){
$colWidth += $this->getColumnWidthInt($col);
}
return $colWidth;
}
private function getFirstDataRowIndex(): int{
$highestRow = $this->worksheet->getHighestDataRow(); // e.g. 10
$minCol = min($this->columns);
$maxCol = max($this->columns);
$row = -1;
$value = null;
do {
++$row;
$array = $this->worksheet->rangeToArray($minCol.$row.':'.$maxCol.$row);
$value = trim(implode($array));
} while ($row <= $highestRow && is_null($value));
++$row;
return $row;
}
private function getCellValue(Cell $cell): string{
if($cell->isFormula()){
return trim($cell->getOldCalculatedValue());
}
return trim($cell->getFormattedValue());
}
private function getRowHeight(int $rowNumber): float{
$height = $this->worksheet->getRowDimension($rowNumber)->getRowHeight('px');
if($height < 0){
$height = $this->worksheet->getDefaultRowDimension()->getRowHeight('px');
if($height < 0){
$height = $this->worksheet->getRowDimension($rowNumber)->setRowHeight(10, 'pt')->getRowHeight('px');
}
}
if($this->worksheet->getRowDimension($rowNumber)->getZeroHeight()){
$height = 0;
}
return $height * $this->scale;
}
private function getColSpan(Cell $cell): int{
if ($cell->isInMergeRange()){
$mergeRange = explode(':', $cell->getMergeRange());
$mergeRange[1] = substr($mergeRange[1], 0, strlen($mergeRange[1]) - strlen(filter_var($mergeRange[1], FILTER_SANITIZE_NUMBER_INT)));
$mergeRange[0] = substr($mergeRange[0], 0, strlen($mergeRange[0]) - strlen(filter_var($mergeRange[0], FILTER_SANITIZE_NUMBER_INT)));
$lastCell = array_search($mergeRange[1], $this->columns);
$lastNotInCells = false;
if ($lastCell === false){
$lastNotInCells = true;
$lastCell = count($this->columns);
for($i = count($this->columns) - 1; $i >= 0; $i--){
if ((strlen($this->columns[$i]) === strlen($mergeRange[1]) && strcmp($this->columns[$i], $mergeRange[1]) <= 0) || (strlen($this->columns[$i]) < strlen($mergeRange[1]))){
$lastCell = $i;
if (strcmp($this->columns[$i], $mergeRange[1]) < 0)
$lastCell++;
break;
}
if( $i > count($this->columns))
$i = count($this->columns);
}
}
$firstCell = array_search($mergeRange[0], $this->columns);
if ($firstCell === false){
$firstCell = 0;
for($i = 0; $i < count($this->columns); $i++){
if ((strlen($this->columns[$i]) === strlen($mergeRange[0]) && strcmp($this->columns[$i], $mergeRange[0]) >= 0) || (strlen($this->columns[$i]) > strlen($mergeRange[0]))){
$firstCell = $i;
if (strcmp($this->columns[$i], $mergeRange[0]) > 0)
$firstCell--;
break;
}
}
if( $i < 0)
$i = 0;
}
if($lastCell <= $firstCell){
return 1;
}
if(!$lastNotInCells)
$lastCell+=1;
return $lastCell - $firstCell;
}
return 1;
}
private function getBackground(Cell $cell): string{
if ($cell->getStyle()->getFill()->getFillType() == null || $cell->getStyle()->getFill()->getFillType() === Fill::FILL_NONE){
return 'transparent';
}
else if ($cell->getStyle()->getFill()->getFillType() === Fill::FILL_SOLID) {
return '#'. $cell->getStyle()->getFill()->getStartColor()->getRGB();
}
return 'linear-gradient('
. $cell->getStyle()->getFill()->getRotation()
.'deg, #'
. $cell->getStyle()->getFill()->getStartColor()->getRGB()
.' 0%, #'
. $cell->getStyle()->getFill()->getEndColor()->getRGB()
.' 100%)';
}
private function getBorder(Cell $cell): string{
$styles = [
Border::BORDER_MEDIUM => 'solid 3px',
Border::BORDER_NONE => 'none',
Border::BORDER_THIN => 'solid 1px',
Border::BORDER_THICK => 'solid 5px',
];
if ($cell->isInMergeRange()){
$borders = $cell->getStyle()->getBorders();
$result = 'border-left: '. $styles[$borders->getLeft()->getBorderStyle()] .' #'. $borders->getLeft()->getColor()->getRGB() .'; /*'.$borders->getLeft()->getBorderStyle().'*/'//. $borders->getRight();
.'border-bottom: '. $styles[$borders->getBottom()->getBorderStyle()] .' #'. $borders->getBottom()->getColor()->getRGB() .'; /*'.$borders->getBottom()->getBorderStyle().'*/'//. $borders->getRight();
.'border-top: '. $styles[$borders->getTop()->getBorderStyle()] .' #'. $borders->getTop()->getColor()->getRGB() .'; /*'.$borders->getTop()->getBorderStyle().'*/';//. $borders->getRight();
$mergeRange = explode(':', $cell->getMergeRange());
$endcell = $this->worksheet->getCell($mergeRange[1]);
$endBorders = $endcell->getStyle()->getBorders();
$result .= 'border-right: '. $styles[$endBorders->getRight()->getBorderStyle()] .' #'. $endBorders->getRight()->getColor()->getRGB() .'; /*'.$borders->getRight()->getBorderStyle().'*/';//. $borders->getRight();
return $result;
}
$borders = $cell->getStyle()->getBorders();
return 'border-right: '. $styles[$borders->getRight()->getBorderStyle()] .' #'. $borders->getRight()->getColor()->getRGB() .'; /*'.$borders->getRight()->getBorderStyle().'*/'//. $borders->getRight();
.'border-left: '. $styles[$borders->getLeft()->getBorderStyle()] .' #'. $borders->getLeft()->getColor()->getRGB() .'; /*'.$borders->getLeft()->getBorderStyle().'*/'//. $borders->getRight();
.'border-bottom: '. $styles[$borders->getBottom()->getBorderStyle()] .' #'. $borders->getBottom()->getColor()->getRGB() .'; /*'.$borders->getBottom()->getBorderStyle().'*/'//. $borders->getRight();
.'border-top: '. $styles[$borders->getTop()->getBorderStyle()] .' #'. $borders->getTop()->getColor()->getRGB() .'; /*'.$borders->getTop()->getBorderStyle().'*/';//. $borders->getRight();
}
private function getAlignment(Cell $cell): string{
$alignment = $cell->getStyle()->getAlignment()->getHorizontal();
if ($alignment === Alignment::HORIZONTAL_GENERAL){
$alignment = Alignment::HORIZONTAL_LEFT;
}
return Alignment::HORIZONTAL_ALIGNMENT_FOR_HTML[$alignment];
}
private function getFontSizePt(Cell $cell): float{
return $cell->getStyle()->getFont()->getSize() * $this->scale;
}
private function getTextDecoration(Cell $cell): string{
if ($cell->getStyle()->getFont()->getUnderline() === Font::UNDERLINE_SINGLE){
return 'underline solid';
}
else{
return 'none';
}
}
}
class StyleOptions{
const WITH_COLUMN_WIDTH = 0b001;
const COLUMN_WIDTH_PROPORTIONAL = 0b010;
const TABLE_SIZE_FIXED = 0b100;
}

View File

@ -0,0 +1,9 @@
<?php
namespace CSO\Excel2Html\Exceptions;
class SheetNotFoudException extends \Exception {
public function __construct(string $message = "", int $code = 0, \Throwable $previous = null){
parent::__construct($message, $code, $previous);
}
}

100
tests/HtmlConverterTest.php Normal file
View File

@ -0,0 +1,100 @@
<?php
use CSO\Excel2Html\Exceptions\SheetNotFoudException;
use PHPUnit\Framework\TestCase;
use CSO\Excel2Html\HtmlConverter;
use CSO\Excel2Html\StyleOptions;
final class HtmlConverterTest extends TestCase{
//outputed html stays the same
public function testHtmlProportionalFixedIsSame(): void{
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::COLUMN_WIDTH_PROPORTIONAL | StyleOptions::WITH_COLUMN_WIDTH | StyleOptions::TABLE_SIZE_FIXED,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
$res = $conv->getHtml();
$expected = file_get_contents('tests/assets/results/testFixProp.html');
$this->assertSame($expected, $res);
}
public function testHtmlWidthFixedIsSame(): void{
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::WITH_COLUMN_WIDTH | StyleOptions::TABLE_SIZE_FIXED,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
$res = $conv->getHtml();
$expected = file_get_contents('tests/assets/results/testFixWidth.html');
$this->assertSame($expected, $res);
}
public function testHtmlFixedIsSame(): void{
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::TABLE_SIZE_FIXED,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
$res = $conv->getHtml();
$expected = file_get_contents('tests/assets/results/testFix.html');
$this->assertSame($expected, $res);
}
public function testHtmlWidthIsSame(): void{
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::WITH_COLUMN_WIDTH,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
$res = $conv->getHtml();
$expected = file_get_contents('tests/assets/results/testWidth.html');
$this->assertSame($expected, $res);
}
public function testHtmlPropIsSame(): void{
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::WITH_COLUMN_WIDTH | StyleOptions::COLUMN_WIDTH_PROPORTIONAL,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
$res = $conv->getHtml();
$expected = file_get_contents('tests/assets/results/testProp.html');
$this->assertSame($expected, $res);
}
//Exceptions
public function testCannotReadFromUnknownSheet(): void{
$this->expectException(SheetNotFoudException::class);
HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::WITH_COLUMN_WIDTH | StyleOptions::COLUMN_WIDTH_PROPORTIONAL,
worksheetName:'gibberish',
columns:['A', 'B', 'C', 'D', 'E', 'F'],
scale: 1.1);
}
public function testCannotReadFromUnknownColumn(): void{
$this->expectExceptionMessage('Invalid cell coordinate -1');
$conv = HtmlConverter::fromFilepath(
'tests/assets/test.xlsx',
styleOption: StyleOptions::WITH_COLUMN_WIDTH | StyleOptions::COLUMN_WIDTH_PROPORTIONAL,
worksheetName:'TestTable',
columns:['A', 'B', 'C', 'D', 'E', 'F', '-1'],
scale: 1.1);
$res = $conv->getHtml();
}
public function testColumnRangeWorkingAsExpected(): void{
$columnRange = function($startColumn, $endColumn) {
++$endColumn;
for($column = $startColumn; $column !== $endColumn; ++$column) {
yield $column;
}
};
$res = '';
foreach($columnRange('Y', 'AC') as $column) {
$res .= '|'.$column;
}
$this->assertSame('|Y|Z|AA|AB|AC', $res);
}
}

View File

@ -0,0 +1,127 @@
<table class="cso-excel-table" style="border-collapse: collapse; width:100%; table-layout: fixed; max-width: 443.08px;">
<colgroup>
<col style=""></col>
<col style=""></col>
<col style=""></col>
<col style=""></col>
<col style=""></col>
<col style=""></col>
</colgroup>
<thead>
<tr>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr excel-row="2" style="height: 14.666666666667px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="3" style="height: 18.773333333333px;">
<td colspan="6" excel-col="A" excel-cell-range="A3:F3" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 3px #000000; /*medium*/border-top: solid 3px #000000; /*medium*/border-right: solid 3px #000000; /*medium*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Heading 1 </text> </text>
</span>
</td>
</tr>
<tr excel-row="4" style="height: 18.773333333333px;">
<td colspan="5" excel-col="A" excel-cell-range="A4:E4" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/border-right: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Subheading 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: solid 3px #000000; /*medium*/border-left: none #000000; /*none*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="5" style="height: 18.773333333333px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: #FF4000; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: #FFFF00; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> Text 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> 31/12/2020 </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,127 @@
<table class="cso-excel-table" style="border-collapse: collapse; width:100%; table-layout: fixed; max-width: 443.08px;">
<colgroup>
<col style="width: 4.4811320754717%;"></col>
<col style="width: 43.396226415094%;"></col>
<col style="width: 29.952830188679%;"></col>
<col style="width: 10.141509433962%;"></col>
<col style="width: 4.4811320754717%;"></col>
<col style="width: 7.5471698113208%;"></col>
</colgroup>
<thead>
<tr>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr excel-row="2" style="height: 14.666666666667px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="3" style="height: 18.773333333333px;">
<td colspan="6" excel-col="A" excel-cell-range="A3:F3" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 3px #000000; /*medium*/border-top: solid 3px #000000; /*medium*/border-right: solid 3px #000000; /*medium*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Heading 1 </text> </text>
</span>
</td>
</tr>
<tr excel-row="4" style="height: 18.773333333333px;">
<td colspan="5" excel-col="A" excel-cell-range="A4:E4" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/border-right: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Subheading 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: solid 3px #000000; /*medium*/border-left: none #000000; /*none*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="5" style="height: 18.773333333333px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: #FF4000; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: #FFFF00; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> Text 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> 31/12/2020 </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,127 @@
<table class="cso-excel-table" style="border-collapse: collapse; width:100%; table-layout: fixed; max-width: 443.08px;">
<colgroup>
<col style="width: 19.855px;"></col>
<col style="width: 192.28px;"></col>
<col style="width: 132.715px;"></col>
<col style="width: 44.935px;"></col>
<col style="width: 19.855px;"></col>
<col style="width: 33.44px;"></col>
</colgroup>
<thead>
<tr>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr excel-row="2" style="height: 14.666666666667px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="3" style="height: 18.773333333333px;">
<td colspan="6" excel-col="A" excel-cell-range="A3:F3" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 3px #000000; /*medium*/border-top: solid 3px #000000; /*medium*/border-right: solid 3px #000000; /*medium*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Heading 1 </text> </text>
</span>
</td>
</tr>
<tr excel-row="4" style="height: 18.773333333333px;">
<td colspan="5" excel-col="A" excel-cell-range="A4:E4" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/border-right: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Subheading 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: solid 3px #000000; /*medium*/border-left: none #000000; /*none*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="5" style="height: 18.773333333333px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: #FF4000; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: #FFFF00; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> Text 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> 31/12/2020 </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,127 @@
<table class="cso-excel-table" style="border-collapse: collapse; ">
<colgroup>
<col style="width: 4.4811320754717%;"></col>
<col style="width: 43.396226415094%;"></col>
<col style="width: 29.952830188679%;"></col>
<col style="width: 10.141509433962%;"></col>
<col style="width: 4.4811320754717%;"></col>
<col style="width: 7.5471698113208%;"></col>
</colgroup>
<thead>
<tr>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr excel-row="2" style="height: 14.666666666667px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="3" style="height: 18.773333333333px;">
<td colspan="6" excel-col="A" excel-cell-range="A3:F3" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 3px #000000; /*medium*/border-top: solid 3px #000000; /*medium*/border-right: solid 3px #000000; /*medium*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Heading 1 </text> </text>
</span>
</td>
</tr>
<tr excel-row="4" style="height: 18.773333333333px;">
<td colspan="5" excel-col="A" excel-cell-range="A4:E4" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/border-right: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Subheading 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: solid 3px #000000; /*medium*/border-left: none #000000; /*none*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="5" style="height: 18.773333333333px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: #FF4000; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: #FFFF00; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> Text 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> 31/12/2020 </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,127 @@
<table class="cso-excel-table" style="border-collapse: collapse; ">
<colgroup>
<col style="width: 19.855px;"></col>
<col style="width: 192.28px;"></col>
<col style="width: 132.715px;"></col>
<col style="width: 44.935px;"></col>
<col style="width: 19.855px;"></col>
<col style="width: 33.44px;"></col>
</colgroup>
<thead>
<tr>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr excel-row="2" style="height: 14.666666666667px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="3" style="height: 18.773333333333px;">
<td colspan="6" excel-col="A" excel-cell-range="A3:F3" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 3px #000000; /*medium*/border-top: solid 3px #000000; /*medium*/border-right: solid 3px #000000; /*medium*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Heading 1 </text> </text>
</span>
</td>
</tr>
<tr excel-row="4" style="height: 18.773333333333px;">
<td colspan="5" excel-col="A" excel-cell-range="A4:E4" style="background: transparent; border-left: solid 3px #000000; /*medium*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/border-right: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: center;">
<text>
<text> Subheading 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: solid 3px #000000; /*medium*/border-left: none #000000; /*none*/border-bottom: solid 1px #000000; /*thin*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
<tr excel-row="5" style="height: 18.773333333333px;">
<td colspan="1" excel-col="A" excel-cell-range="" style="background: #FF4000; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="B" excel-cell-range="" style="background: #FFFF00; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> Text 1 </text> </text>
</span>
</td>
<td colspan="1" excel-col="C" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> 31/12/2020 </text> </text>
</span>
</td>
<td colspan="1" excel-col="D" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="E" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
<td colspan="1" excel-col="F" excel-cell-range="" style="background: transparent; border-right: none #000000; /*none*/border-left: none #000000; /*none*/border-bottom: none #000000; /*none*/border-top: none #000000; /*none*/; white-space: nowrap;">
<span style="display: block; width: 100%; color: #000000; font-size: 11pt; text-align: left;">
<text>
<text> </text> </text>
</span>
</td>
</tr>
</tbody>
</table>

BIN
tests/assets/test.xlsx Normal file

Binary file not shown.