Есть ли способ получить ширину содержимого в ячейке в PHPSpreadsheet - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь установить ширину ячейки равной ширине содержимого, чтобы не возникало много пустого пространства. Я использовал следующее.

$tmExport->getActiveSheet()->getColumnDimension($courseColumn)->setAutoSize(true);

Итак, я хочу использовать что-то вроде

$tmExport->getActiveSheet()->getColumnDimension($courseColumn)->setWidth($contentWidth);

1 Ответ

0 голосов
/ 31 октября 2019

Вот решение, которое я реализовал

    $cellValue = $tmExport->getActiveSheet()->getCell($courseCell)->getValue(); 
    $width     = mb_strwidth($cellValue);$lastCourseId = end($this->courses)->courseid;

    foreach ($this->courses as $courseItem) {
        if ($courseItem->courseid === $lastCourseId) {
            $tmExport->getActiveSheet()->getColumnDimension($courseColumn)->setWidth($width);
        } else {
            if ($width > $maxWidth) {
                $tmExport->getActiveSheet()->getColumnDimension($courseColumn)->setWidth($maxWidth);
            } else {
                $tmExport->getActiveSheet()->getColumnDimension($courseColumn)->setWidth($width);
            }
        }
    }`
...