Ich spiele dieser Tage mit einer PHP - MS Excel Integration herum. Meine Aufgabe ist es, ein bestehendes Tabellenblatt zu öffnen, einige Daten hinzuzufügen und die gefüllten Tabellenkalkulation als neue Datei zu speichern. Im Grunde genommen eine Art Template-Füllmaschine, auch wenn xlsx-Dateien als Vorlagen verwendet werden.
Ich habe mir PHPExcel was ein ziemlich guter Rahmen zu sein scheint. Um Konzept zu implementieren, habe ich das Folgende getan (reduziert auf das Minimum erforderlich, um zu veranschaulichen, was ich tun muss):
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("myTemplateToFill.xlsx");
//Here comes the actual filling
$objWorksheet = $objPHPExcel->createSheet();
$objWorksheet->setTitle('Apple') ;
$objWorksheet->setCellValue('A1', 'Banana');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('myFilledTemplate.xlsx');
Wenn ich dies ausführe, wird eine neue Datei erstellt, meine Datei wird eingefügt, aber leider mit alle vorhandenen Formatierungen verloren gehen.
Die Frage ist also, ob es einen Weg gibt, PHPExcel dazu zu bringen, diese Formatierungen in der neuen Datei zu behalten? Oder um noch weiter zu gehen: Ist es möglich, Diagramme usw. in einer Vorlagendatei zu speichern und diese so zu füllen, wie ich es versucht habe?
Vielen Dank im Voraus für alle Ihre Erfahrungen, die Sie uns mitgeteilt haben!
K