PhpSpreadsheet icon indicating copy to clipboard operation
PhpSpreadsheet copied to clipboard

Border in vertical merged cell

Open marcopiai opened this issue 9 months ago • 3 comments

I have this problem setting border in vertical merged cell (getOutline()) the border is visible only on the top, left and right of the first cell of the merged group

this is the code: `<?php

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Border; use PhpOffice\PhpSpreadsheet\Style\Color;

$spreadsheet = new Spreadsheet(); $activeWorksheet = $spreadsheet->getActiveSheet();

$activeWorksheet->setCellValue('B3', 'TEST'); $activeWorksheet->mergeCells("B3:B10"); $activeWorksheet->getStyle('B3')->getBorders()->getOutline()->setBorderStyle(Border::BORDER_THIN)->setColor(new Color('00000000'));

$writer = new Xlsx($spreadsheet);

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment; filename="bugtest.xlsx"'); $writer->save('php://output');

?>`

the result on excel is:

Image

any suggest? could be a bug?

Thanks Marco Piai

marcopiai avatar Mar 06 '25 14:03 marcopiai

You can get the result you want with getStyle(B3:B10) instead of getStyle(B3). I don't know offhand how styles for merged cells are supposed to work, so I am not sure whether the behavior that you describe is a bug. I will investigate.

oleibman avatar Mar 06 '25 15:03 oleibman

YES this works. I hadn't thought about it

marcopiai avatar Mar 06 '25 16:03 marcopiai

My investigation of how Excel works is puzzling. Here's cell B2 with an outline border:

Image And here's what happens when I merge B2:B4.

Image The top border stays. The bottom border disappears, perhaps understandably. The left and right borders also disappear completely, which I don't understand at all. So Excel's behavior is no less unexpected than PhpSpreadsheet's. On this basis, I don't think there's a reason to change PhpSpreadsheet, but I'll leave this ticket open for a while to see if anyone thinks otherwise.

oleibman avatar Mar 07 '25 00:03 oleibman

Closing. No update in 5 months, no suggestions for improvements.

oleibman avatar Aug 04 '25 00:08 oleibman