Ich versuche PHPExcel zu nutzen, um etwas zu produzieren, die wie folgt aussehen:PHPExcel, warum werden meine Zeilenumbrüche nicht angezeigt, wenn PHPExcel_RichText verwendet wird?
Label:
This is the value
Wo „Label“ ist dunkelrot, und „Dies ist der Wert“ auf eine neue Zeile ist, in der gleichen Zelle.
Ich habe mit dem folgenden Code:
$text = new PHPExcel_RichText();
$label = $text->createTextRun("This is the label: ");
$label->getFont()->setBold(true);
$label->getFont()->setItalic(true);
$label->getFont()->setColor(new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_DARKRED));
$text->createText(PHP_EOL . "This is the value");
$workbook->getActiveSheet()->getCell('A1')->setValue($text);
$workbook->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
Aber aus irgendeinem Grunde das scheint nicht zu funktionieren. Ich habe "\ r" und "\ n" anstelle von PHP_EOL ausprobiert (wobei darauf zu achten ist, dass doppelte Anführungszeichen anstelle von einfachen Anführungszeichen verwendet werden).
Ich habe auch versucht, die PHP_EOL auf den Etikettentext zu verschieben.
Wenn ich setValue($text . PHP_EOL)
aufrufen, verliere ich die Formatierung, aber der Zeilenumbruch funktioniert.
Ich bin auf einem Mac mit Excel 2016, wenn das einen Unterschied macht. Leider kann ich nicht auf einer anderen Version von Excel testen. Kann mir jemand zeigen, wie ich das beheben kann?
Mein Ratschlag ist, PHPExcel fallen zu lassen und Spout zu verwenden, das hat viel bessere Leistungen https: // github.com/box/spout –
Danke @MassimilianoArione, ich gebe dies ein Blick – davidr360
Set Zellverpackung –