Skip to content

Commit b006153

Browse files
committed
Refactor cell merging
1 parent 5408095 commit b006153

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

lib/HtmlPhpExcel/HtmlPhpExcel.php

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,16 @@ private function createExcel(): void
160160
// Loop over all cells in a row
161161
$colIndex = 1;
162162
foreach($row->getCells() as $cell) {
163-
$excelCellIndex = Helper::colLetter($colIndex).$rowIndex;
164163

165-
// Skip cells withing merge range
164+
// Skip cells within merged range
165+
$excelCellIndex = Helper::colLetter($colIndex).$rowIndex;
166166
while ($this->isMerged($sheet, $excelCellIndex)) {
167167
$colIndex++;
168168
$excelCellIndex = Helper::colLetter($colIndex).$rowIndex;
169169
$sheet->cell($excelCellIndex);
170170
}
171171

172+
// Write cell
172173
$cellStyles = $this->getStyles($cell);
173174
$sheet->writeCell(
174175
trim($cell->getValue()),
@@ -188,21 +189,16 @@ private function createExcel(): void
188189
$sheet->addNote(Excel::cellAddress($rowIndex, $colIndex), $cellComment);
189190
}
190191

192+
// Merge cells, if necessary
191193
$colspan = $cell->getAttribute('colspan');
192194
$rowspan = $cell->getAttribute('rowspan');
193195

194196
if ($colspan || $rowspan) {
195-
if ($colspan) {
196-
$colspan = $colspan - 1;
197-
}
198-
199-
if ($rowspan) {
200-
$rowspan = $rowspan - 1;
201-
}
197+
$colspan = $colspan ? $colspan - 1 : 0;
198+
$rowspan = $rowspan ? $rowspan - 1 : 0;
202199

203200
$mergeCellsTargetCellIndex = Helper::colLetter($colIndex + $colspan).($rowIndex + $rowspan);
204-
205-
$sheet->mergeCells($excelCellIndex.':'.$mergeCellsTargetCellIndex);
201+
$sheet->mergeCells($excelCellIndex . ':' . $mergeCellsTargetCellIndex);
206202
}
207203

208204
$colIndex++;

0 commit comments

Comments
 (0)