Настройка ширины ячейки электронной таблицы с помощью PHPExcel
Я пытаюсь установить ширину ячейки в документе Excel, созданном с помощью PHPExcel, с помощью:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
Но это не работает.
Какой метод мне нужно вызвать здесь?
7 answers
Это тонкая разница, но для меня это прекрасно работает:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
Обратите внимание, разница между getColumnDimensionByColumn
и getColumnDimension
Кроме того, я даже не устанавливаю автоматический размер, и он отлично работает.
Привет, у меня та же проблема.. добавьте 0,71 к значению ширины ячейки excel и присвойте это значение
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
Например: Ширина столбца = 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();
, как упоминал Роллан
Автоматический размер для ширины столбца, заданной как показано ниже. Это работает для меня.
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);