Spreadsheet_Excel_Writer

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

  • Spreadsheet_Excel_Writer

    Hallo,

    ich habe folgendes Problem: Ich habe Eingaben mit PHP via Spreadsheet_Excel_Writer in eine Excel-Tabelle gemacht. DIese wird nach dem Befüllen auch abgespeichert. Jetzt würd ich gerne wissen, wie es funktioniert, dass die Tabelle sich aus dem Browser heraus selbst öffnet. Hier mal mein Code:
    PHP-Code:
    <?php
        
    require_once('Writer/Writer.php');
        
    $workbook = new Spreadsheet_Excel_Writer('test.xls');
        
    $workbook->send('test.xls');
        
    //Format für Überschrift
        
    $format_titel =& $workbook->addFormat();
        
    $format_titel->setBold();
        
    $format_titel->setAlign('center');
        
    $format_titel->setFgColor('grey');
        
    $format_titel->setBorder(2);

    //Format für Text
        
    $format_text =& $workbook->addFormat();
        
    $format_text->setAlign("center");
        
    $format_text->setBorder(1);
        
    $format_text->setFontFamily("Courier");
        
    //Zellen befüllen
        
    $worksheet =& $workbook->addWorksheet("Testmappe");
        
    $worksheet->write(00"lfd. Nr."$format_titel);
        
    $worksheet->write(01"Zufallszahl"$format_titel);
        for(
    $i 1$i<=50$i++)
        {
             
    srand(microtime()*1000000);
               
    $zufall rand(1,100);
            
    $worksheet->write($i0$i$format_text);
            
    $worksheet->write($i1$zufall$format_text);
        }
        
        
    $workbook->close();
    ?>

  • #2
    Beispiele 39-1 und 39-2 auf http://pear.php.net/manual/en/packag...iter.intro.php

    Kommentar


    • #3
      so hab ichs ja auch gemacht, ich will ja, dass gespeichert und direkt geöffnet wird, deshalb hab ich ja bei der Initialisierung der Klasse den Dateinamen schon angegeben (zur Speicherung) und bei ->send(), was angeblich zum Öffnen dient. Bei mir öffnet sich aber nichts.

      Kommentar


      • #4
        Beides auf einmal geht vielleicht nicht?
        Aber es genügt ja auch, eine Datei zu erzeugen. Die kannst du anschließend mit readfile() zum Download anbieten.

        Kommentar


        • #5
          wenn ich nur send() mache, bringt er mir irgendwelche komische zeichen in den browser, aber es wird benötigt, dass sich die Datei direkt öffnet. steht so in der Anforderung.

          Kommentar


          • #6
            Original geschrieben von Mercury1987
            wenn ich nur send() mache, bringt er mir irgendwelche komische zeichen in den browser
            Dann solltest du dem Browser vielleicht auch mitteilen, was der Krempel, den du ihm da schickst, darstellen soll - Content-Type Header.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              ja, hab ich, ich hab das fertige Paket von PEAR drauf. Das sollte laut Dokumentation ja funktionieren. Aber wenn ich sende, bringt er nur Schmass raus, obwohl die send-Anweisungen die folgenden sind.
              PHP-Code:
              function send($filename)
                  {
                      @
              header("Content-type: application/vnd.ms-excel");
                      @
              header("Content-Disposition: attachment; filename=\"$filename\"");
                      @
              header("Expires: 0");
                      @
              header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
                      @
              header("Pragma: public");
                  } 

              Kommentar


              • #8
                Was sollen die @ vor den header-Aufrufen?
                Mal geschaut, mit welchen Headern der Client die Ressource erhält?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  ne. noch nit, aber die @´s mach ich mal weg, die mach ich eigentlich grundsätzlich rein bei so sachen

                  Kommentar


                  • #10
                    ... weil dich eventuelle Fehlermeldungen grundsätzlich nicht interessieren? -- Außer heute!?

                    Kommentar


                    • #11
                      ne, auf der arbeit hab ich gesagt bekommen, beim programmieren erst mal rein machen, später rausholen, aber ich hab sie rausgenommmen, und es kommen keine Fehlermeldungen, besser gesagt, er zeigt mir jetzt ab und zu ne excel-tabelle an, leider ohne inhalt

                      Kommentar


                      • #12
                        Original geschrieben von Mercury1987
                        ne, auf der arbeit hab ich gesagt bekommen, beim programmieren erst mal rein machen, später rausholen
                        Bist du sicher, dass man dir nicht genau das Gegenteil gesagt hat?

                        Kommentar


                        • #13
                          ich glaube eher ja, is ja auch egal.

                          Kennst du dich mit dem Spreadsheet_Excel_Writer von PEAR aus? Normalerweise müsste das ja funktionieren. Aber bei mir kommt die Meldung zum Öffnen von Excel erst nach langer Zeit, und dann ist kein Inhalt drin.

                          Kommentar


                          • #14
                            so, ich habs zum laufen gebracht. Jetzt ne andere Frage: Wenn ich die Datei (test.xls) öffnen lasse, bringt er mir keinen Inhalt, der öffnet dann eine Datei test[1].xls, wodran kannen das liegen?

                            Kommentar


                            • #15
                              Die Datei wurde zum zweiten Mal heruntergeladen, die erste ist aber noch im Downloadverzeichnis deines Browsers und deswegen muß er der zweiten einen anderen Namen geben.

                              Kommentar

                              Lädt...
                              X