我尝试使用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”列,但可以是其他列,也可以包含很多行。
有人知道该怎么做吗?
感谢您的帮助。
答案 0 :(得分:0)
我也在寻找这个问题的解决方案。我想在其中合并单元格并在其上放置内容(值)的地方。经过几次搜索,我得到了一些解决方案。但未检查,因为我正在使用 Maatawebsite 获取 Excel 文件。
但是任何人都可以尝试。.解决方案基于 PHPExcel 确定,它可以在 Maataweb 网站上工作。
从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');