Ich habe eine mit PHPExcel erstellte Excel-Datei, die eine Kopfzeile mit einem linksbündigen Logo und einem rechtsbündigen Datum und Benutzertext enthält. Für die erste Seite möchte ich eine ähnliche Kopfzeile (gleiches Logo und gleiches Datum und Benutzertext), aber mit einigen zusätzlichen Informationen (Titel und Parameter der Datei, die ein paar Zeilen später zentriert werden).
Das ist mein bisheriger Stand der Dinge:
<?php
$sheet = $this->_spreadsheet->getActiveSheet(); //_spreadsheet is an instance of PHPExcel
$logo = new PHPExcel_Worksheet_HeaderFooterDrawing();
$logo->setName('Logo');
$logo->setPath(DOCUMENT_ROOT . '/public/logo.jpg'); //Path is OK & tested under PHP
$logo->setHeight(38); //If image is larger/smaller than that, image will be proportionally resized
$sheet->getHeaderFooter()->addImage($logo, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT);
$sheet->getHeaderFooter()->setOddHeader('&L&G&RExport date: ' . date('Y-m-d H:i:s') . "\n" . 'User: ' . $user->name);
if ($grid->getTitle() != '') {
$sheet->getHeaderFooter()->setDifferentFirst(true);
$sheet->getHeaderFooter()->addImage($logo, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT);
$sheet->getHeaderFooter()->setFirstHeader('&L&G&C&"-,Bold"' . "\n\n\n" . $grid->getTitle() . "\n" . $grid->getParameters() . '&RExport date: ' . date('Y-m-d H:i:s') . "\n" . 'User: ' . $user->name);
}
?>
Für die "normale" Kopfzeile sind das Logo und der Text vorhanden, also ist alles in Ordnung. Für die Kopfzeile der ersten Seite habe ich 2 Probleme:
- Das Logo wird auf der Kopfzeile der ersten Seite nicht angezeigt (der Text ist jedoch in Ordnung).
- Da auf den zentrierten Titel ein Text folgt (dynamisch geladen mit getParameters ) Ich möchte, dass sich die Kopfzeile der ersten Seite an ihren Inhalt anpasst.
Wie kann ich das mit PHPExcel machen?