Центрируйте весь текст в PHPSpreadsheet и расширяйте ячейки, чтобы заполнить их контекстом. - PullRequest
0 голосов
/ 29 августа 2018

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

Итак, что я пытаюсь сделать, это:

  1. Установите информацию в каждой ячейке для центрирования, поскольку она лучше подходит для печати в формате PDF / и т. Д.

  2. Расширение ячеек в зависимости от количества текста в ячейке. Я не хочу, чтобы информация в ячейке А передавалась в ячейке В.

Я пробовал этот код, но, похоже, он не работает:

$styleArray = array(
            'borders' => array(
                'outline' => array(
                    'style' => Alignment::HORIZONTAL_CENTER,
                ),
            ),
        );

        $sheet ->getStyle('A1:D30')->applyFromArray($styleArray);

То есть, если я делаю это для одной отдельной ячейки (центральный контекст), это работает. Сделал это так:

$sheet->setCellValue('A2', $activitiesCount)->getStyle('A2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);

Для клеток, расширяющихся, пока я не нашел решения, чтобы попробовать это.

Я бы с удовольствием выполнил обе команды по одной клетке, если это возможно.

1 Ответ

0 голосов
/ 29 августа 2018

Это бы сработало:

Для автоматического определения размера (автоматическое расширение ячейки):

$sheet->getColumnDimension('A')->setAutoSize(true);
$sheet->getColumnDimension('B')->setAutoSize(true);

Примечание

Это необходимо сделать отдельно для каждого столбца, поскольку метод getColumnDimension может принимать только один столбец в качестве параметра.

Вы уже выяснили горизонтальное выравнивание, но стоит отметить, что вы можете установить выравнивание более чем одного столбца, используя одну команду.

$sheet->getStyle('A:B')->getAlignment()->setHorizontal('center');

Что касается установки значений ячеек, я бы предпочел, чтобы вы делали это отдельно от всего, что связано с форматированием и стилизацией, просто с целью разделения проблем и читабельности.

Приветствие.

...