Объединять листы со стилями с помощью PhpSpreadsheet
Я хочу объединить / скопировать какой-либо другой рабочий лист b после последней записи в рабочем листе a. Я не нашел никаких решений, поэтому я работал с rangeToArray и Array, чтобы получить содержимое из листа b и вставить его в лист a.
Проблема в том, что он не скопировал стили из ячеек. Как можно копировать стили? Есть ли функция для копирования всех элементов стиля?
<?php
namespace PhpOffice\PhpSpreadsheet\TemplateFiller;
use \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet as wrks;
use \PhpOffice\PhpSpreadsheet\Style as style;
Class Utils
{
protected $cols;
protected $rows;
public function __construct() {
}
public static function copyRows(wrks $srcSheet, $srcFrom, $srcTo, wrks $dstSheet, $dstFrom, $dstTo) {
self::copyContent($srcSheet, $srcFrom, $srcTo, $dstSheet, $dstFrom);
self::copyStyle($srcSheet, $srcFrom, $srcTo, $dstSheet, $dstFrom, $dstTo);
}
public static function copyStyle(wrks $srcSheet, $srcFrom, $srcTo, wrks $dstSheet, $dstFrom, $dstTo) {
// Copy Style from srcSheet to dstSheet
}
public static function copyContent(style $srcSheet, $srcFrom, $srcTo, wrks $dstSheet, $dstFrom) {
$cellValues = $srcSheet->rangeToArray($srcFrom.':'.$srcTo);
$dstSheet->fromArray($cellValues, NULL, $dstFrom);
}
}