76 votes

Définition de la largeur de la cellule de la feuille de calcul à l'aide de PHPExcel

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?

187voto

Jahmic Points 1878

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 configure même pas AutoSize et cela fonctionne bien.

12voto

Rolland Points 538

La méthode setAutoSize doit précéder setWidth :

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

8voto

King Alawaka Points 457

salut j'ai le meme probleme.. ajoutez 0,71 à la valeur de largeur de cellule Excel et donnez cette valeur au

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

par exemple: A Largeur de colonne = 3,71 (valeur excel)

donner une largeur de colonne = 4,42

donnera le fichier de sortie avec la même largeur de cellule.

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

j'espère que cette aide

5voto

shurbks Points 51

C'est parce que getColumnDimensionByColumn reçoit l'index de la colonne (un entier commençant à 0), pas une chaîne.

Il en va de même pour setCellValueByColumnAndRow

5voto

Du Luong Points 69

autoSize pour la largeur de colonne définie comme ci-dessous. Ça marche pour moi.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X