установите высоту строки для всех строк с помощью phpspreadsheet

#phpexcel #phpspreadsheet

#phpexcel #phpspreadsheet

Вопрос:

Высота строки по умолчанию в Excel равна -1, что показывает 15 в Excel.Эта высота строки автоматически изменяется до 15,75 после добавления содержимого.Итак, я установил новую высоту строки по умолчанию, 15 для всех строк. Тем не менее, высота строки автоматически изменяется. Затем я пытаюсь установить высоту строки для всех строк из $sheet->getRowDimensions() . В нем нет содержимого $sheet->getRowDimensions() . Таким образом, $rd->setRowHeight(15) не вступает в силу.

 $default_rowdimensions  =$sheet->getDefaultRowDimension();
$set_newdefaultrowheight=$sheet->getDefaultRowDimension()->setRowHeight(15); 
 
 $rowdimension = $sheet->getRowDimensions();
echo '<pre>;
var_dump($rowdimension);
echo '</pre>';
foreach($rowdimension  as $rd) 
{ 
    $rd->setRowHeight(15); 
}

 

Есть ли другие способы установить высоту строки для всех строк перед записью в Excel.

Заранее спасибо.

Комментарии:

1. Разве эта строка $set_newdefaultrowheight=$sheet->getDefaultRowDimension()->setRowHeight(15); не должна быть $set_newdefaultrowheight=$sheet->setRowHeight(15); ?

2. нет, $set_newdefaultrowheight=$sheet->getDefaultRowDimension()->setRowHeight(15); это правильный код для установки высоты строки по умолчанию.

Ответ №1:

Установите высоту строки по умолчанию с помощью:

 $sheet->getDefaultRowDimension()->setRowHeight(15);
 

Комментарии:

1. Что, если я хочу изменить только для одной строки?

2. Похоже, это работает: $sheet-> getRowDimension(’10’)-> setRowHeight(15);

Ответ №2:

Для PhpSpreadsheet правильный способ архивирования этого :

 $spreadsheet->getActiveSheet()->getRowDimension('2')->setRowHeight(26);
 

Где 2 — номер строки, а 26 — высота.