web-dev-qa-db-fra.com

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?

64
user198003

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.

153
Jahmic

la méthode setAutoSize doit venir avant setWidth:

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

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

8
King Alawaka

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

5
shurbks

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

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

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

1
Magor Menessy

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

1
Gustav Trenwith