Frage zu PHPExcel

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu PHPExcel

    Hallo,

    ich versuche gerade das erste Mal mit PHPExcel eine Excel-Tabelle (Excel2007, .xlsx) auszugeben. Nachdem ich mit googlen nicht weitergekommen bin, und gesehen habe, dass Fragen zu PHPExcel hier im Forum auch behandelt werden, will ich mein Glück hier versuchen.

    Es geht darum, die Hintergrundfarbe für Zellen festzulegen. Dazu habe ich zwei Vorgehensweisen gefunden, die aber beide nicht funktionieren.

    Versuch-1:
    $objPHPExcel
    ->getActiveSheet()
    ->getStyle('A6')
    ->getFill()
    ->getStartColor()
    ->setRGB('99CCFF');

    Versuch-2:
    $objPHPExcel->getActiveSheet()->getStyle('A6')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('99CCFF');

    Bei Versuch-1 wird die Hintergrundfarbe für die Zelle 'A6' nicht gesetzt.

    Versuch-2 bringt einen Fehler: "Class 'JCL\ScCruisePlan\Controller\PHPExcel_Style_Fill' not found".

    Zwei Anmerkungen: Ich bezeichne mich noch als Anfänger und bei dem PHP-Skript handelt es sich um eine Controller Action in einer TYPO3 Extension.

    Wäre toll, wenn mir jemand weiterhelfen könnte.
    ---
    Gruß, Johannes

  • #2
    *probieren* *raten* *probieren*
    ...
    Zwei Anmerkungen: Ich bezeichne mich noch als Anfänger und bei dem PHP-Skript handelt es sich um eine Controller Action in einer TYPO3 Extension.

    Wäre toll, wenn mir jemand weiterhelfen könnte.
    Irgendwo gibts eine Dokumentation der möglichen Eigenschaften oder Methoden dieses Objekts. Da steht, was geht und was nicht. Das spart dir das Herumraten. Dann musst du halt noch schauen, ob du auch mit dem korrekten Objekt (vom richtigen Typ oder der richtigen Klasse) hantierst. Das sagt dir ein
    PHP-Code:
    var_dump($objPHPExcel); 
    Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

    Kommentar


    • #3
      In meinem Fall ist dies die Lösung:

      Code:
      $phpExcelService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstanceService('phpexcel');
      $objPHPExcel = $phpExcelService->getPHPExcel();
      
      $objPHPExcelStyleFill = $phpExcelService->getInstanceOf('PHPExcel_Style_Fill');
      
      $objPHPExcel->getActiveSheet()->getStyle('A'.$row.':H'.$row)->getFill()->setFillType($objPHPExcelStyleFill::FILL_SOLID)->getStartColor()->setRGB('99CCFF');
      $objPHPExcel->getActiveSheet()->getStyle('A'.$row.':H'.$row)->getFont()->getColor()->setARGB($objPHPExcelStyleColor::COLOR_WHITE);
      ---
      Gruß, Johannes

      Kommentar

      Lädt...
      X