equin: PHPExcel - String wird in Excel automatisch als Zahl ausgegeben

Hallo,

ich habe folgendes Problem: Ich generiere ein Excel-File, und in einer Spalte will ich einen String ausgeben, der beispielsweise folgende Form hat: "0034". Excel interpretiert das nun als Zahl und wandelt es in "34" um.

Hatt jemand eine Idee wie ich das verhindern kann? Den Typ der Zelle habe ich mit "$objPHPExcel->getActiveSheet()->getCell("A1")->setValueExplicit(PHPExcel_Cell_DataType::TYPE_STRING);" eigentlich als String definiert...

  1. Hello,

    ich habe folgendes Problem: Ich generiere ein Excel-File, und in einer Spalte will ich einen String ausgeben, der beispielsweise folgende Form hat: "0034". Excel interpretiert das nun als Zahl und wandelt es in "34" um.

    Hatt jemand eine Idee wie ich das verhindern kann?

    Versuch es mal mit "'0034" (ein führendes Häkchen). Das sollte eigentlich helfen, Excel die Umwandlung abzugewöhnen.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Versuch es mal mit "'0034" (ein führendes Häkchen).

      Interessant, wie du bestimmte Zeichen benennst :)

      ´ oder ` dazu und du kannst häkeln :p

      1. Hello,

        Versuch es mal mit "'0034" (ein führendes Häkchen).

        Interessant, wie du bestimmte Zeichen benennst :)

        Wie nennst Du es denn, wenn Du nicht das Wort Apostoph benutzen willst?

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hello,

          Hello,

          Versuch es mal mit "'0034" (ein führendes Häkchen).

          Interessant, wie du bestimmte Zeichen benennst :)

          Wie nennst Du es denn, wenn Du nicht das Wort Apostoph benutzen willst?

          Dass das ein Kerl ist, wusste ich auch noch nicht.
          "der Apostroph"

          http://de.wikipedia.org/wiki/Apostroph

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Dass das ein Kerl ist, wusste ich auch noch nicht.
            "der Apostroph"

            http://de.wikipedia.org/wiki/Apostroph

            Ich auch nicht, wieder etwas gelernt - werd' es mir aber wohl nicht merken ;)

        2. Versuch es mal mit "'0034" (ein führendes Häkchen).

          Interessant, wie du bestimmte Zeichen benennst :)

          Wie nennst Du es denn, wenn Du nicht das Wort Apostoph benutzen willst?

          Apostroph :p SCNR

          Aber Hochkomma ist wohl gebräuchlicher als "führendes Häkchen" und als Synonym durchaus angebracht, wenn man es schon eindeutschen will.

          Gegenfrage: warum willst du nicht das Wort Apostroph verwenden?

          1. Hello,

            Gegenfrage: warum willst du nicht das Wort Apostroph verwenden?

            Hildesheimer?

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
    2. Hello,

      ich habe folgendes Problem: Ich generiere ein Excel-File, und in einer Spalte will ich einen String ausgeben, der beispielsweise folgende Form hat: "0034". Excel interpretiert das nun als Zahl und wandelt es in "34" um.

      Hatt jemand eine Idee wie ich das verhindern kann?

      Versuch es mal mit "'0034" (ein führendes Häkchen). Das sollte eigentlich helfen, Excel die Umwandlung abzugewöhnen.

      Das Problem ist dann aber, dass ich im Excel-File, das "Häkchen" :) am Anfang habe...

      1. Das Problem ist dann aber, dass ich im Excel-File, das "Häkchen" :) am Anfang habe...

        Jap, das scheint nur zu funktionieren, wenn man den Apostroph direkt in die Funktionszeile eingibt.

  2. Hallo,

    ich habe folgendes Problem: Ich generiere ein Excel-File, und in einer Spalte will ich einen String ausgeben, der beispielsweise folgende Form hat: "0034". Excel interpretiert das nun als Zahl und wandelt es in "34" um.

    Setze zu Beginn *für die gesamte Spalte* den Datentyp auf Zeichenkette. Es ist keine gute Idee, dies zellenweise zu tun (was auch in der Doku steht).

    Hatt jemand eine Idee wie ich das verhindern kann? Den Typ der Zelle habe ich mit "$objPHPExcel->getActiveSheet()->getCell("A1")->setValueExplicit(PHPExcel_Cell_DataType::TYPE_STRING);" eigentlich als String definiert...

    wann? Irgendwann nach der Wertzuweisung? Dann ist es in aller Regel zu spät :-)

    Warum setzt Du *keinen* Wert, wenn Du die Methode setValueExplicit() verwendest?
    Warum verwendest Du *nicht* die Methode setDataType(), wenn Du nur den Datentyp festlegen willst?

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      ich habe folgendes Problem: Ich generiere ein Excel-File, und in einer Spalte will ich einen String ausgeben, der beispielsweise folgende Form hat: "0034". Excel interpretiert das nun als Zahl und wandelt es in "34" um.

      Setze zu Beginn *für die gesamte Spalte* den Datentyp auf Zeichenkette. Es ist keine gute Idee, dies zellenweise zu tun (was auch in der Doku steht).

      Hatt jemand eine Idee wie ich das verhindern kann? Den Typ der Zelle habe ich mit "$objPHPExcel->getActiveSheet()->getCell("A1")->setValueExplicit(PHPExcel_Cell_DataType::TYPE_STRING);" eigentlich als String definiert...

      wann? Irgendwann nach der Wertzuweisung? Dann ist es in aller Regel zu spät :-)

      Warum setzt Du *keinen* Wert, wenn Du die Methode setValueExplicit() verwendest?
      Warum verwendest Du *nicht* die Methode setDataType(), wenn Du nur den Datentyp festlegen willst?

      Freundliche Grüße

      Vinzenz

      In welcher Doku steht das denn? In der "PHPExcel Developer Documentation" finde ich die funktion "setDataType()" z.b gar nicht... wie weise ich denn der gesamten Spalte einen Datentyp zu?