使用PhpSpreadsheet合并具有样式的工作表

时间:2018-07-11 09:07:57

标签: php phpexcel phpspreadsheet

我要合并/复制工作表a中最后一个条目之后的其他工作表b。 我没有找到任何解决方案,所以我使用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);
    }
}

0 个答案:

没有答案