0 0 Stimmen

PHPExcel: Führende Nullen

Frage von WebHorn | 09.12.2016 um 09:47 Uhr

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 Zelle "1" und "2" wenn ich die Datei in Excel öffne.

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

AntwortenPositivNegativ

NetLabel

Profil anzeigen | Nachricht
Avatar
0Beste Antwort
0 Stimmen

Wenn Excel eine "01" in einer Zelle entdeckt, interpretiert Excel diesen Inhalt als Zahl und gibt lediglich eine 1 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 auch die Zahlen-Formatierung der entsprechenden Zeile ändern. Hier setzen wir erst die Zelle A1 auf 1 und setzen anschließend die 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.
09.12.2016 um 23:33 Uhr

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

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.