J'essaie de définir la largeur d'une cellule dans un document Excel généré avec PHPExcel avec:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
mais ça ne marche pas.
Quelle est la méthode que je dois appeler ici?
C'est une différence subtile, mais cela fonctionne bien pour moi:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
Remarquez, la différence entre getColumnDimensionByColumn
et getColumnDimension
De plus, je ne suis même pas en train de régler AutoSize et cela fonctionne bien.
la méthode setAutoSize doit venir avant setWidth:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
salut je me suis le même problème .. ajouter 0,71 à la valeur de la largeur de cellule Excel et donner cette valeur à la
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
exemple: une largeur de colonne = 3,71 (valeur Excel)
donne la largeur de la colonne = 4.42
donnera le fichier de sortie avec la même largeur de cellule.
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
espérons que cette aide
C'est parce que getColumnDimensionByColumn reçoit l'index de la colonne (un entier commençant à 0), pas une chaîne.
La même chose vaut pour setCellValueByColumnAndRow
autoSize pour la largeur de colonne définie comme ci-dessous. Ça marche pour moi.
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
Cela a fonctionné pour moi:
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
assurez-vous d'ajouter setAuzoSize(false)
, avant la setWidth();
mentionnée par Rolland
La méthode correcte pour définir la largeur de la colonne consiste à utiliser la ligne telle que publiée par Jahmic. Toutefois, il est important de noter qu’en outre, vous devez appliquer un style after ajouter les données, et pas avant, sinon certaines configurations, la largeur de colonne n'est pas appliquée