11 Stimme

PHPExcel: Führende Nullen

Frage von WebHorn | Letztes Update am 12.01.2024 | Erstellt am 09.12.2016

Ich nutze die Bibliothek PHPExcel, um mit PHP eine Excel-Datei zu erzeugen und zum Download anzubieten.

Das funktioniert soweit ganz gut, jedoch möchte ich in einer Tabelle die Monate 01 bis 12 aufschreiben. Obwohl ich "01", "02" und so weiter übergebe, erscheint in der jeweiligen Zelle "1" und "2" ohne jegliche Nullen zu Beginn wenn ich die Datei in Excel öffne.

Was kann ich tun, dass auch Excel die führenden Nullen anzeigt?

AntwortenPositivNegativ
2Beste Antwort2 Stimmen

Wenn Excel eine "01" in einer Zelle entdeckt, interpretiert Excel diesen Inhalt als Zahl und gibt lediglich den Wert 1 statt dem String "01" aus.

Um dieses Verhalten zu ändern, gibt es prinzipiell zwei Möglichkeiten: Die erste Möglichkeit besteht darin, die Zelle nicht mehr als Zahl sondern als String (Zeichenkette) zu formatieren. Das geht so:

$php->getActiveSheet()
    ->setCellValueExplicit('A1', 
                           '01', 
                           PHPExcel_Cell_DataType::TYPE_STRING);

Wenn es wichtig ist, dass die Zahl weiterhin als Zahl von Excel verarbeitet werden soll, kannst du alternativ auch die Zahlen-Formatierung der entsprechenden Zeile ändern. Hier setzen wir erst die Zelle A1 auf 1 und setzen anschließend ihre Formatierung:

$php->getActiveSheet()->setCellValue('A1', 1);
$php->getActiveSheet()->getStyle('A1')
                      ->getNumberFormat()
                      ->setFormatCode('00');

In deinem Fall müsstest du "00" übergeben. Sind die Zahlen länger oder sollen mehr führende Nullen angezeigt werden, müsstest du entsprechend "000", "0000" oder eben deine gewünschte Anzahl übergeben.
Letztes Update am 12.01.2024 | Erstellt am 09.12.2016

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.