Ankündigung

Einklappen
Keine Ankündigung bisher.

PhPExcel Tabellenränder?

Einklappen

Neue Werbung 2019

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

  • PhPExcel Tabellenränder?

    Huhu,

    ich bin derzeit daran eine Webseite für meinen Verein zu erstellen. Auf dieser sollen die Werte aus einer .xls dargestellt werden. Soweit so gut. Die Werte anzeigen kein Problem allerdings ist es mir nicht möglich der Zellen ihren Rahmen zu verpassen. Ich habe schon Probiert beim <table border="1"> doch dann lädt die Seite nicht mehr, ähnlich wie wenn ich über ein Stylesheet die Tabelle anspreche. Könnt ihr mir eventuell etwas auf die Sprünge helfen?


    Mein Code:

    HTML-Code:
    <!doctype>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <?php
    require_once "Classes/PHPExcel.php";
            $tmpfname = "Tabelle1.xls";
            $excelReader = PHPExcel_IOFactory::createReaderForFile($tmpfname);
            $excelObj = $excelReader->load($tmpfname);
            $worksheet = $excelObj->getSheet(0);
            $lastRow = $worksheet->getHighestRow();
    
            echo "<table>";
            for ($row = 1; $row <= $lastRow; $row++)  {
                 echo "<tr><td>";
                 echo $worksheet->getCell('A'.$row)->getValue();
                 echo "</td><td>";
                 echo $worksheet->getCell('B'.$row)->getValue();
                 echo "</td><td>";
                 echo $worksheet->getCell('C'.$row)->getValue();    
                 echo "</td><td>";
                 echo $worksheet->getCell('D'.$row)->getValue();
                 echo "</td><tr>";
            }
            echo "</table>";    
    ?>
    
    </body>
    </html>


  • #2
    Für solche Dinge ist CSS zuständig.
    Dein minimalbeispiel oben (das man so am besten nicht verwenden sollte) funktioniert nicht weil du die Quotes nicht escapest, wenn du das error_reporting (google) aufdrehst wirst du auch entsprechende Fehlermeldungen bekommen.

    Ansonsten D(ont)R(epeat)Y(ourself), der Teil hier geht bedeutend schöner:
    PHP-Code:
    echo "<tr><td>";
    echo 
    $worksheet->getCell('A'.$row)->getValue();
    echo 
    "</td><td>";
    echo 
    $worksheet->getCell('B'.$row)->getValue();
    ... 
    PHPExcel bietet einen Spalteniterator, der hier vermutlich sinnvoll wäre.
    Hier mal ein kurzer Schnipsel der dir vielleicht die Anwendung davon etwas erklärt:
    PHP-Code:
    $columnIterator $activeSheet->getColumnIterator('A'$activeSheet->getHighestColumn());
    while(
    $columnIterator->valid()){
        
    // do something
        
    $columnIterator->next();

    Kommentar


    • #3
      Nutze bitte den Thread statt private Nachrichten, dann können andere Leute die z.B. übers Problem googlen den Thread finden auch was damit anfangen

      Ich erwähne nochmal explizit, Styling Css. Styles in HTML festzulegen ist aus gutem Grund schon einige Jahre nichtmehr "state of the art".

      Bzw theoretisch reicht es eventuell mir diesen Part hier zu Erleutern :" funktioniert nicht weil du die Quotes nicht escapest"
      PHP-Code:
      echo "<table border="1">";
      // mit Syntaxhighlighting sollte das schon etwas komisch aussehen,
      // wenn es nicht zu einem fatalen Fehler führen würde, würde die Ausgabe in etwa so aussehen:
      // <table border= 
      In Php Tags werden hier im Forum leider backslashes entfernt, deshalb nur in einem Code-Block
      Code:
      echo "<table border=\"1\">";
      Alternativ geht auch sowas hier:
      PHP-Code:
      echo '<table border="1">'

      Kommentar


      • #4
        Ah perfekt! Es funktioniert ich danke dir

        Kommentar

        Lädt...
        X