maatwebsite Laravel excel合并相同的单元格

时间:2018-07-26 15:14:25

标签: php laravel maatwebsite-excel

我尝试使用maatwebsite Laravel excel 2.1替换旧的phpexcel脚本。

使用php excel,我查询我的bdd并在其中循环。

每行数据都作为自己的数据+父数据,因此两个或更多行可以具有相同的值。

因此,我遍历每个数据并逐行写入值。如果父级值与以前相同,则合并单元格。

最后,我合并了所有具有相同值的单元格。

如何在laravel-excel上做类似的事情?

此刻,我将所有数据收集到一个数组中,并使用此代码导出:

        Excel::load('excel\recap.xls', function($excel) use($array) {

        $excel->sheet('Copro', function($sheet) use($array) {

            $sheet->fromArray($array, null, 'A9', false);
            foreach ($sheet as $row) {
                $sheet->setCellValue($row, 'some value');
            }
        });

    })->export('xls');

例如,$ array可以像这样:

array:2 [
  0 => array:8 [
    "Batiment" => "Unique"
    "N° du lot" => 7
    "Étage" => "1e étage"
    "Fraction" => "Parking 0.35"
    "Surface" => "11.500"
    "Coefficient" => "0.350"
    "Surface pondérée" => "4.025"
    "Quote-part" => "635.961"
  ]
  1 => array:8 [
    "Batiment" => "Unique"
    "N° du lot" => 8
    "Étage" => "1e étage"
    "Fraction" => "Principal"
    "Surface" => "65.850"
    "Coefficient" => "0.903"
    "Surface pondérée" => "59.265"
    "Quote-part" => "9364.039"
  ]
]

所以在这里我想合并“ Batiment”和“ Etage”列,但可以是其他列,也可以包含很多行。

有人知道该怎么做吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我也在寻找这个问题的解决方案。我想在其中合并单元格并在其上放置内容(值)的地方。经过几次搜索,我得到了一些解决方案。但未检查,因为我正在使用 Maatawebsite 获取 Excel 文件。

但是任何人都可以尝试。.解决方案基于 PHPExcel 确定,它可以在 Maataweb 网站上工作。

Source Link

从A列第1行合并到E列第1行

$objPHPExcel->getActiveSheet()->mergeCells('A1:E1');

// add some text
$objPHPExcel->getActiveSheet()->setCellValue('A1','The quick brown fox.'); 

从A列第1行合并到E列第3行

$objPHPExcel->getActiveSheet()->mergeCells('A1:E3');

// add some text
$objPHPExcel->getActiveSheet()->setCellValue('A1','The quick brown fox.');

我检查了maatawebsite文档,它们具有相同的方法 mergeCells 。所以我想我会工作。

Maatawebste的此解决方案。

$sheet->cells('A1:C1', function($cells) {
    $cells->setBorder('thin', 'thin', 'thin', 'thin');
});
$sheet->mergeCells('A1:C1');