#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 — высота.