2016-05-09 19 views
0

Ich habe ein paar Beispiele auf Google gelesen, aber ich kann nichts wie mein Problem finden.
PHPExcel Zelle Höhe funktioniert nur auf leere Zelle

Um die Zellenhöhe i verwenden gesetzt:
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(-1);

Diese Zellenhöhe auf "auto" gesetzt wird.
Ich denke, der Text/die Daten werden seine Höhe bestimmen ?!

Ich habe wie mehrere Werte versucht: 4, 10 etc ..

Seltsam ist, dass nur die Zelle ohne Texthöhe ändern.

Ich denke: Hat der Text/Schriftart einen margin-top-Wert?
Ich kann keine Art von Höhenbegrenzung sehen, also sollte das nicht das Problem sein.

CODE

//Set font Size 
$objPHPExcel->getActiveSheet()->getStyle("A1:I".$highestRow)->getFont()->setSize(4); 

//Set Row size 
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(6); 

Beispiel

enter image description here

würde ich die Zellenhöhe mag als Text als Höhe sein!

Antwort

0

Um mein Problem zu lösen, musste ich jede Zeilenhöhe in meiner Schleife setzen, wo ich Zellenwerte einstelle.

//Loop out data into cells (create excel) 
while($value = $stmt->fetch()){ 

    //Set start Column 
    $column = "A"; 

    //Set row height 
    $objPHPExcel->getActiveSheet()->getRowDimension($row)->setRowHeight(6); 

//Set cell values 
    $objPHPExcel->getActiveSheet()->SetCellValue($column++.$row, $value['value']); 
0

Das Zeilenhöhenlimit beträgt tatsächlich 409,50 (546 Pixel). Dies ist das MS Excel-Limit für das OfficeOpenXML (xlsx) -Format. Es ist einfach so, dass PHPExcel es nicht erzwingt.

Und wenn Sie sich einige Beispiele ansehen (wie 01Simple.php), sehen Sie die Höhe automatisch für die Zeilen 8 und 10. In Ihrem Fall sieht es so aus, als hätten Sie vor dem Text ein Zeilenvorschubzeichen Du setzt in deinen Zellen, also überspannen sie 2 Zeilen und die Autohöhe stellt sich entsprechend ein.

+0

Ok, es gibt also ein Höhenlimit. Aber es sollte nicht mit meiner Schriftgröße 4 interferieren. Wenn ich das exportierte Blatt öffne und eine Zelle mit Text markiere, kann ich den Marker nicht nach oben oder unten verschieben. Es scheint also nur eine Zeile Text in jeder Zelle zu sein. Oder versteh ich dich falsch? –

Verwandte Themen