Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将科学记数法转换为带整数的字符串_Php_Laravel_Export To Excel - Fatal编程技术网

Php 如何将科学记数法转换为带整数的字符串

Php 如何将科学记数法转换为带整数的字符串,php,laravel,export-to-excel,Php,Laravel,Export To Excel,我有一个问题,我想在excel中显示完整的数字,但它显示的是科学数字。已经阅读了另一个问题,但仍然感到困惑。 如何显示一行完整的数字? export.php public function collection() { return Staff::select('nik', 'nama_depan', 'nama_belakang', )->get(); } public function head

我有一个问题,我想在excel中显示完整的数字,但它显示的是科学数字。已经阅读了另一个问题,但仍然感到困惑。 如何显示一行完整的数字?

export.php

    public function collection()
        {
            return Staff::select('nik', 'nama_depan', 'nama_belakang', )->get();
        }
    
        public function headings(): array
        {
            return [
                'NIK',
                'NAMA DEPAN',
                'NAMA BELAKANG',
            ];
        }

问题是Excel会自动将任何看起来像数字的字符串转换为数字

在导出到Excel之前,可以添加单个引号
,以强制Excel将其识别为字符串

public function collection()
{
    $collection = Staff::select('nik', 'nama_depan', 'nama_belakang', )->get();
    $collection->map(function ($item, $key) {
        $item->nik = "'" . $item->nik;
        return $item;
    });
    return $collection;
}


问题是Excel会自动将任何看起来像数字的字符串转换为数字

在导出到Excel之前,可以添加单个引号
,以强制Excel将其识别为字符串

public function collection()
{
    $collection = Staff::select('nik', 'nama_depan', 'nama_belakang', )->get();
    $collection->map(function ($item, $key) {
        $item->nik = "'" . $item->nik;
        return $item;
    });
    return $collection;
}


默认情况下,Excel将把他认为是数字的东西转换为科学数字。这不是Laravel问题-您可以将NIK导出为字符串,而不是数字将
\Maatwebsite\Excel\Writer
更改为
\Maatwebsite\Excel\Concerns\WithCustomValueBinder
,这可能会解决您的问题problem@ChristopheHubert我应该更改数据库上的nik类型吗?@STA未更改任何内容默认情况下Xcel将转换什么他认为是一个科学数字。这不是Laravel问题-您可以将NIK导出为字符串,而不是数字将
\Maatwebsite\Excel\Writer
更改为
\Maatwebsite\Excel\Concerns\WithCustomValueBinder
,这可能会解决您的问题problem@ChristopheHubert我应该更改数据库上的nik类型吗?@STA没有更改任何新错误“类App\Staff对象无法转换为数字”是的,这很好,只要您不会在Excel中对NIK进行任何计算(我对此表示怀疑)。不要忘记将回答标记为已接受,这样可以帮助其他人新错误“类App\Staff对象无法转换为数字”“是的,这很好,只要您不在Excel中对NIK进行任何计算(我对此表示怀疑)。别忘了将回答标记为已接受,这样可以帮助他人