Laravel-excel: 0 wird als leere Zelle angezeigt

Erstellt am 29. Mai 2014  ·  7Kommentare  ·  Quelle: Maatwebsite/Laravel-Excel

Ich entschuldige mich, wenn diese Frage schon einmal gestellt wurde. Ich habe die geschlossenen Fragen überflogen und nichts gefunden.

Wenn der folgende Beispielcode ausgeführt wird, hat er 2 Zeilen, aber die 0 wird als leere Zelle angezeigt.

\Excel::create('test', function ($excel) {
    $excel->sheet('sheet', function ($sheet) {
        $sheet->fromArray(array(array('foo' => 0), array('foo' => 4)));
    });
})->export('xls');

Ich habe diesen Beitrag auf der PHPExcel-Site gefunden, der zeigt, wie Nullen angezeigt werden:
https://phpexcel.codeplex.com/discussions/346577

Hier ist, was ich meinen Code ändern musste, damit 0 nicht als Leerzeichen angezeigt werden.

\Excel::create('test', function ($excel) {
    $excel->sheet('sheet', function ($sheet) {
        $sheet->fromArray(array(array('foo' => 0), array('foo' => 4)), null, 'A1', true);
    });
})->export('xls');

Es scheint auch, dass es auch funktioniert, wenn Sie 0 als String "0" übergeben.

Ich bin überrascht, dass das Standardverhalten darin besteht, Nullen als leere Zellen anzuzeigen. Gibt es eine einfachere Möglichkeit, Nullen anzuzeigen? Gibt es eine globale Konfigurationsoption, die ich an einer Stelle einstellen kann, damit ich nicht jedes Mal all diese zusätzlichen Argumente übergeben muss?

Hilfreichster Kommentar

@philliskiragu Ich hatte das gleiche Problem, habe aber diesen Hinweis in der

Standardmäßig wird 0 als leere Zelle angezeigt. Wenn Sie dieses Verhalten ändern möchten, können Sie als 4. Parameter true übergeben:

// Will show 0 as 0
$sheet->fromArray($data, null, 'A1', true);

http://www.maatwebsite.nl/laravel-excel/docs/export

Hoffentlich klärt dies etwas Verwirrung, falls noch jemand darüber stolpert.

Alle 7 Kommentare

Wird mit v1.1.0 hinzugefügt

Hallo, ich habe das gleiche Problem mit Importen. Alle Spalten in meiner CSV-Datei, die '0' sind, werden als null zurückgegeben.

Könnten Sie dazu eine neue Ausgabe machen, da es um das Importieren und nicht um das Exportieren geht.

Ich weiß, dass dieses Problem geschlossen ist, aber ich habe das gleiche Problem mit v2.1 Wenn ich in CSV exportiere, sind die Felder mit 0 oder null leere Zellen.

 Excel::create('issues', function ($excel) use ($issues) {

                $excel->sheet('Sheet 1', function ($sheet) use ($issues) {

                    $sheet->fromArray($issues);
                });
            })->export('csv');

@philliskiragu Ich hatte das gleiche Problem, habe aber diesen Hinweis in der

Standardmäßig wird 0 als leere Zelle angezeigt. Wenn Sie dieses Verhalten ändern möchten, können Sie als 4. Parameter true übergeben:

// Will show 0 as 0
$sheet->fromArray($data, null, 'A1', true);

http://www.maatwebsite.nl/laravel-excel/docs/export

Hoffentlich klärt dies etwas Verwirrung, falls noch jemand darüber stolpert.

@philliskiragu Ich hatte das gleiche Problem, habe aber diesen Hinweis in der

Standardmäßig wird 0 als leere Zelle angezeigt. Wenn Sie dieses Verhalten ändern möchten, können Sie als 4. Parameter true übergeben:

// Will show 0 as 0
$sheet->fromArray($data, null, 'A1', true);

http://www.maatwebsite.nl/laravel-excel/docs/export

Hoffentlich klärt dies etwas Verwirrung, falls noch jemand darüber stolpert.

Dieser Link ist veraltet. Für diejenigen, die immer noch nach Nullen suchen, die als Nullen angezeigt werden, hier ist der aktualisierte Link zu dem Teil des Dokuments, der Ihnen erklärt, wie es geht
https://docs.laravel-excel.com/3.1/exports/collection.html#strict -null-comparisons
Im Grunde machst du einfach: use Maatwebsite\Excel\Concerns\WithStrictNullComparison;

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen