Laravel-excel: 0が空白のセルとして表示される

作成日 2014年05月29日  ·  7コメント  ·  ソース: Maatwebsite/Laravel-Excel

この質問が以前に行われたことがある場合は、お詫び申し上げます。 閉じた問題をざっと読みましたが、何も見つかりませんでした。

次のサンプルコードを実行すると、2行になりますが、0は空白のセルとして表示されます。

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

PHPExcelサイトで、0を表示する方法を示すこの投稿を見つけました。
https://phpexcel.codeplex.com/discussions/346577

これは、0が空白として表示されないようにコードを変更する必要があったものです。

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

また、文字列「0」として0を渡すと、それも機能するようです。

デフォルトの動作では、0が空白のセルとして表示されることに驚いています。 0を表示する簡単な方法はありますか? 毎回これらの追加の引数をすべて渡す必要がないように、1か所で設定できるグローバル構成オプションはありますか?

最も参考になるコメント

@philliskiragu私はこれと同じ問題を抱えていましたが、エクスポートドキュメントでこのメモを見つけました:

デフォルトでは、0は空のセルとして表示されます。 この動作を変更する場合は、4番目のパラメーターとしてtrueを渡すことができます。

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

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

うまくいけば、他の誰かがこれに遭遇した場合、これはいくつかの混乱を解消するでしょう。

全てのコメント7件

v1.1.0で追加されます

こんにちは、私はインポートで同じ問題を抱えています。 CSV内の「0」の列はすべてnullとして返されます。

エクスポートではなくインポートに関するものなので、これについて新しい問題を作成していただけませんか。

ありがとう、ここで行われます: https

この問題が解決したことはわかっていますが、v2.1でも同じ問題が発生しています。csvにエクスポートすると、0またはnullのフィールドは空白のセルになります。

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

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

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

@philliskiragu私はこれと同じ問題を抱えていましたが、エクスポートドキュメントでこのメモを見つけました:

デフォルトでは、0は空のセルとして表示されます。 この動作を変更する場合は、4番目のパラメーターとしてtrueを渡すことができます。

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

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

うまくいけば、他の誰かがこれに遭遇した場合、これはいくつかの混乱を解消するでしょう。

@philliskiragu私はこれと同じ問題を抱えていましたが、エクスポートドキュメントでこのメモを見つけました:

デフォルトでは、0は空のセルとして表示されます。 この動作を変更する場合は、4番目のパラメーターとしてtrueを渡すことができます。

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

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

うまくいけば、他の誰かがこれに遭遇した場合、これはいくつかの混乱を解消するでしょう。

そのリンクは古くなっています。 まだゼロとして表示されるゼロを探している人のために、ここに方法を説明するドキュメントの部分への更新されたリンクがあります
https://docs.laravel-excel.com/3.1/exports/collection.html#strict -null-comparisons
基本的にあなたは単にします: use Maatwebsite\Excel\Concerns\WithStrictNullComparison;

このページは役に立ちましたか?
0 / 5 - 0 評価