Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Excel Spreadsheet Writer - mehrere Variablen in einem Feld

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Excel Spreadsheet Writer - mehrere Variablen in einem Feld

    Hi,
    kennst sich wer mit dem PERL EXcel Spreadsheet Writer aus?

    Ich müsste in eine Spalte mehrere Variablen schreiben:

    PHP-Code:
    $worksheet->write($a++, 0$row['f_kdname'und $row['xy'und $row['z'], $format_title); 
    habe für das aber noch keine lösung gefunden.

    jemand eine idee?

  • #2
    Willst Du die Inhalte in verschiedene Zellen der Spalten oder alle zusammen in einer Zelle haben?
    Perl-Magazin: [URL="http://perl-magazin.de"]http://perl-magazin.de[/URL]
    Perl-Nachrichten: [URL="http://perl-nachrichten.de"]http://perl-nachrichten.de[/URL]

    Kommentar


    • #3
      zelle=zeile ?
      alles in einer zeile so wie im code ersichtlich zeile "0"

      Kommentar


      • #4
        buff. du willst mit einer klasse umgehen und kennst nicht mal die grundlagen? selbst wenn ich das hier als pseudocode auffasse, sollte string verkettung doch in einem grundlagentutorial drin gewesen sein, oder?

        PHP-Code:
        $row['f_kdname'und $row['xy'und $row['z'
        [B]PHP4?!?[/B]>>>[B]Aktuelle[/B] PHP Version: [B]5.2.11 || 5.3.0
        [URL="http://en.opensuse.org/Factory/News"]Suse 11.2 *vorfreude*[/URL]
        [/B]

        Kommentar


        • #5
          pseudocode. ja das ist korrekt das sollte eben ein beispiel gewesen sein
          mh stringverkettung. nein da hab ich wohl ein kapitel ausgelassen.
          war es..
          das hier?
          $c=$a+$b; ? das klingt zu einfach um wahr zu sein..
          $row['hd']=$row['f_kdname']+$row['f_xy'] :P ne das sieht nicht gut aus so geht das nicht

          Kommentar


          • #6
            Zitat von taurus Beitrag anzeigen
            zelle=zeile ?
            Zelle != Zeile
            alles in einer zeile so wie im code ersichtlich zeile "0"
            Oben sprachst Du davon, alles in einer *SPALTE* (A1,A2,A3,...) haben zu wollen, deswegen meine Frage, ob alles in einer *ZELLE* (A1) oder in verschiedenen *ZELLEN* (A1,A2,A3,...) sein soll. Jetzt sagst Du, dass alles in einer *ZEILE* (A1,B1,C1,...) sein soll. Auch hier wieder die Frage: In eine Zelle oder in mehrere Zellen??

            String-Konkatenation macht man in Perl mit ".", also

            my $var = $string1 . $string2;
            Perl-Magazin: [URL="http://perl-magazin.de"]http://perl-magazin.de[/URL]
            Perl-Nachrichten: [URL="http://perl-nachrichten.de"]http://perl-nachrichten.de[/URL]

            Kommentar


            • #7
              ach^^
              alles in einer zelle z.b. a1

              Kommentar


              • #8
                Ich arbeite oft mit SpreadsheetExcelWriter

                $x = $a.';'.$b.';'.$c
                $x wird dann in die Spalte geschrieben.
                Die einzelnen Werte sind dann mit Semikola getrennt. Natürlich kannst du auch jedes andere Trennzeichen nehmen - oder auch keines:
                Code:
                $worksheet->write($a++, 0, $row['f_kdname'].$row['xy'].$row['z'], $format_title);
                

                Kommentar


                • #9
                  perfekt.
                  danke, das habe ich gesucht )

                  Noch was:

                  ich habe ein mehrzeiliges textfeld das auch in die excel geschrieben wird.
                  wenn ich nun in dem textfeld in den nächsten absatz springe und dort weiterschreibe wird mir dieser absatz später im excel als "viereck" ausgewiesen.

                  hattest du das problem schonmal? statt dem viereck soltle eigentl nur ein leerzeichen in der excel datei stehen )

                  Kommentar


                  • #10
                    Erzeugst Du die Excel-Datei zufällig unter Linux und schaust Dir das dann unter Windows an?

                    Das "Viereck" klingt für mich verdächtig danach, dass da kein "\r\n" sondern nur ein "\n" ist. Du müsstest also explizit den Windows-Zeilenumbruch einfügen.
                    Perl-Magazin: [URL="http://perl-magazin.de"]http://perl-magazin.de[/URL]
                    Perl-Nachrichten: [URL="http://perl-nachrichten.de"]http://perl-nachrichten.de[/URL]

                    Kommentar


                    • #11
                      nein, läuft alles unter windows.
                      und wie gesagt. der absatz kommt durchs "enter" drücken in der textarea. ich füg das nirgends mit /n manuell ein.

                      Kommentar


                      • #12
                        Wenn du in einer Zelle mehrere Zeilen haben willst, arbeite mit
                        $format->setTextWrap().

                        Kommentar


                        • #13
                          nein ich meinte keine autom zeilenubrüche

                          im formular ist ein mehrzeiliges textfeld. dort gebe ich meinen text ein. natürlich kann ich hier durch "enter" drücken auch einen absatz mit einfügen.

                          das ganze wird mir dann in einer tabelle aufgelistet. das mehrzeilge textfeld ich nenne es jetzt mal "sonstiges" wird in dieser tabelle als eine einzige zeile aufgelistet.
                          im excel soll dies genau so sein. eine zeile z.b. A mit dem inhalt von "sonstig"
                          das problem: wenn ich im formular im textfeld absätze mit reintippe tauchen die im fertigen excel dann als "viereck" auf.
                          in der tabelle sind die eingaben schön als eine zeile dargestellt. im excel auch nru eben mit diesem blöden viereck.. und was ich jetzt "nur" will ist diese blöde viereck wegbekommen das von den absätzen im textfeld stammt....

                          Kommentar


                          • #14
                            problem gelöst.
                            der absatz wird unsichtbar eingefügt. wie sowas geht weiß ich nicht..
                            hab einfach das viereck kopiert und in den code reingebaut. das bewirkt das er in die nächste zeile springt. wieso weshalb weiß ich nicht.. hier mal der code:
                            PHP-Code:
                            $hwder str_replace("
                            "
                            ," ",$hwd['f_sonstig']);
                            $worksheet->write($a++, 0'Sonstiges'$format_input4);
                            $worksheet->write($b++, 1$hwder$format_input4); 
                            der umbruch nach replace("
                            " ist dafür verantwortlich das es geht.

                            was ist das? seltsam echt
                            wenn ich in einem mehrzeiligen textfeld im formular einen umbruch per enter einfüge.. fügt er dann nicht im normalfall ein <br> ein?

                            Kommentar

                            Lädt...
                            X