ショコラ
PhpSpreadsheet で罫線が消せない?
一度、範囲で罫線を書いてしまうと、BORDER_NONE をしても罫線が消えませんでした。
これは隣り合うセルの罫線を2つ消さなければなりません。
①セルAの右|(セルB)
②(セルA)|セルBの左
もっさん先輩
上下の罫線を消したもの
$range = "A1:X{$n}"; // 罫線を引く範囲
$style = [
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN, // 罫線の種類を設定(細線)
'color' => ['rgb' => '000000'], // 罫線の色を設定(黒)
],
],
];
$sheet->getStyle($range)->applyFromArray($style);
// 上下の値が同じ間の罫線を削除する
$old = '';
for ($i = 2; $i <= $n; $i++) {
$val = $sheet->getCell("B{$i}")->getcalculatedvalue();
$j = $i + 1;
$next = $sheet->getCell("B{$j}")->getcalculatedvalue();
if ($val == $next) {
$sheet->getStyle("B{$i}")->getBorders()->getBottom()->setBorderStyle(Border::BORDER_NONE);
$sheet->getStyle("B{$j}")->getBorders()->getTop()->setBorderStyle(Border::BORDER_NONE);
}
}
以上