Сделал пока свой метод, который берет Worksheet и переделывает его в Table, с учетом слияния колонок, правда только по ширине, не по высоте
private function convertXlsToDocTable(Worksheet $sheet, Table $table)
{
foreach ($sheet->getRowIterator() as $rowIndex => $row) {
$table->addRow();
$prevMergeRange = null;
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cellIndex => $cell) {
$value = $cell->getValue();
$mergeRange = $cell->getMergeRange();
if ($mergeRange && $prevMergeRange == $mergeRange) {
continue;
}
if ($mergeRange) {
$mergeCount = 0;
foreach ($row as $mergeCell) {
if ($mergeRange == $mergeCell['mergeRange']) {
$mergeCount++;
}
}
$table->addCell(2000, ['gridSpan' => $mergeCount])->addText($value);
$prevMergeRange = $mergeRange;
} else {
$table->addCell(2000, [])->addText($value);
}
}
}
return $table;
}