Я пытаюсь установить ширину ячейки в документе Excel, сгенерированном с помощью PHPExcel, с:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10'); $objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
но это не работает.
Какой метод мне нужно вызвать здесь?
Это тонкая разница, но это отлично подходит для меня:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
Обратите внимание: разница между getColumnDimensionByColumn
и getColumnDimension
Кроме того, я даже не устанавливаю AutoSize, и он отлично работает.
Привет, у меня такая же проблема. Добавьте 0.71 к значению ширины ячейки excel и дайте это значение
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
например: A Ширина столбца = 3,71 (значение excel)
укажите ширину столбца = 4.42
будет выдавать выходной файл с той же шириной ячейки.
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
надеюсь эта помощь
Метод setAutoSize должен появиться до setWidth:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false); $objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
Это потому, что getColumnDimensionByColumn получает индекс столбца (целое число начиная с 0), а не строку.
То же самое касается setCellValueByColumnAndRow
Правильный способ установки ширины столбца – это использовать строку, опубликованную Jahmic, однако важно отметить, что дополнительно необходимо применять стиль после добавления данных, а не раньше, иначе в некоторых конфигурациях ширина столбца равна не применяется
Это сработало для меня:
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
обязательно добавьте setAuzoSize(false)
, перед setWidth();
как сказал Роллан