Установка ширины ячейки электронной таблицы с помощью PHPExcel - PullRequest
62 голосов
/ 22 июля 2011

Я пытаюсь установить ширину ячейки в документе Excel, созданном с помощью PHPExcel, с помощью:

$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);

, но это не работает.

Какой метод я используюнужно позвонить сюда?

Ответы [ 7 ]

151 голосов
/ 13 августа 2011

Это небольшая разница, но она прекрасно работает для меня:

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);

Обратите внимание, разница между getColumnDimensionByColumn и getColumnDimension

Кроме того, я даже не настраиваюАвторазмер и все отлично работает.

9 голосов
/ 16 октября 2015

Метод setAutoSize должен предшествовать setWidth:

$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
8 голосов
/ 09 февраля 2015

привет, у меня та же проблема .. добавьте 0,71, чтобы увеличить значение ширины ячейки и присвойте это значение

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);

, например: ширина столбца = 3,71 (значение Excel)

дать ширину столбца = 4.42

даст выходной файл с такой же шириной ячейки.

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);

надеюсь, что это поможет

5 голосов
/ 05 ноября 2015

Это потому, что getColumnDimensionByColumn получает индекс столбца (целое число, начинающееся с 0), а не строку.

То же самое относится к setCellValueByColumnAndRow

3 голосов
/ 15 марта 2018

autoSize для ширины столбца, установленной ниже.У меня это работает.

$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
1 голос
/ 22 декабря 2017

Это сработало для меня:

$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);

обязательно добавьте setAuzoSize(false), до setWidth();, как упомянул Роллан

1 голос
/ 14 августа 2014

Правильный способ установить ширину столбца - использовать строку, опубликованную Jahmic, однако важно отметить, что дополнительно необходимо применять стили после добавления данных, а не до того, в противном случае в некоторых конфигурациях ширина столбца не применяется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...