Ich versuche, die Breite einer Zelle in einem mit PHPExcel generierten Excel-Dokument festzulegen mit:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
aber das geht nicht.
Welche Methode muss ich hier aufrufen?
php
phpexcel
phpspreadsheet
user198003
quelle
quelle
Die setAutoSize-Methode muss vor setWidth stehen:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false); $objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
quelle
Hallo, ich habe das gleiche Problem. Addiere 0,71, um den Wert für die Zellenbreite zu übertreffen, und gib diesen Wert an
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
Beispiel: Eine Spaltenbreite = 3,71 (Excel-Wert)
Geben Sie die Spaltenbreite = 4,42 an
gibt die Ausgabedatei mit der gleichen Zellenbreite.
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
Ich hoffe das hilft
quelle
Das liegt daran, dass getColumnDimensionByColumn den Spaltenindex (eine Ganzzahl ab 0) und keine Zeichenfolge empfängt.
Gleiches gilt für setCellValueByColumnAndRow
quelle
autoSize für die als unten festgelegte Spaltenbreite. Für mich geht das.
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
quelle
Das hat bei mir funktioniert:
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
Achten Sie darauf
setAuzoSize(false)
, vor demsetWidth();
wie Rolland erwähnt hinzuzufügenquelle
Die korrekte Methode zum Festlegen der Spaltenbreite ist die Verwendung der von Jahmic angegebenen Zeile. Beachten Sie jedoch, dass Sie nach dem Hinzufügen der Daten zusätzlich das Styling anwenden müssen und nicht vorher, da sonst bei einigen Konfigurationen die Spaltenbreite beträgt nicht angewandt
quelle