PhpSpreadsheet で罫線が消せない?

ショコラ
ショコラ

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);
  }
}

以上

Scroll to Top