private function renderRows(IO $io, array $rows, array $columnLengths, $excessColumnLength, $indentation)
{
$alignments = array_fill(0, count($columnLengths), $this->style->getCellAlignment());
$borderStyle = $this->style->getBorderStyle();
$borderColumnLengths = array_map(function ($length) use($excessColumnLength) {
return $length + $excessColumnLength;
}, $columnLengths);
BorderUtil::drawTopBorder($io, $borderStyle, $borderColumnLengths, $indentation);
$last = count($rows) - 1;
foreach ($rows as $i => $row) {
BorderUtil::drawRow($io, $borderStyle, $row, $columnLengths, $alignments, $this->style->getCellFormat(), $this->style->getCellStyle(), $this->style->getPaddingChar(), $indentation);
if ($i < $last) {
BorderUtil::drawMiddleBorder($io, $borderStyle, $borderColumnLengths, $indentation);
}
}
BorderUtil::drawBottomBorder($io, $borderStyle, $borderColumnLengths, $indentation);
}