Подтвердить что ты не робот

Установка ширины ячейки электронных таблиц с помощью PHPExcel

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

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

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

Каков метод, который мне нужно вызвать здесь?

4b9b3361

Ответ 1

Это тонкая разница, но это отлично работает для меня:

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

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

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

Ответ 2

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

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

Ответ 3

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

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

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

укажите ширину столбца = 4.42

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

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

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

Ответ 4

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

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

Ответ 5

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

$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);

Ответ 6

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

Ответ 7

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

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

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