Laravel Excel - 数值自动改变

Laravel Excel - Number value auto change

所以我有一些数据,我将其保存为数据库中的 Varchar,数据示例:3578012605010001,当我将数据导出到 excel 时,它会变为 3,57801E+15,然后我尝试将其更改为数字,结果是 3578012605010000 我认为它有效。但后来我意识到它没有,它将最后一个数字从 1 更改为 0,这不是数据库中的确切数据。我想要一个导出精确数据的结果,例如 3578012605010001.

Anw,这是我从查询导出到 excel 的代码,我使用 Laravel Excel 包。

class PengawasExport extends \PhpOffice\PhpSpreadsheet\Cell\StringValueBinder implements FromCollection, WithHeadings, ShouldAutoSize, WithColumnFormatting
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        $dataTanggalMulai = Master::first();
        $dataTanggalSelesai = Master::first();

        $from = $dataTanggalMulai->periode_mulai;
        $to = $dataTanggalSelesai->periode_akhir;

        $pengawas = Penugasan::join('pengawas', 'penugasans.pengawas_id', 'pengawas.id')
        ->join('ujians', 'penugasans.ujian_id', 'ujians.id')
        ->groupBy('pengawas.nama', 'pengawas.nik', 'pengawas.pns', 'pengawas.bank', 'pengawas.norek')
        ->whereBetween('ujians.tanggal', [$from, $to])
        ->selectRaw('pengawas.nama, pengawas.nik, pengawas.pns, pengawas.bank, pengawas.norek, count(*) as total')
        ->get();

        return $pengawas;
    }

    public function headings(): array
    {
        return [
            'Nama',
            'NIP/NPI/NIK',
            'Status Kepegawaian',
            'Nama Bank',
            'Nomor Rekening',
            'Total Mengawas'
        ];
    }

    public function columnFormats(): array
    {
        return [
            'A' => NumberFormat::FORMAT_TEXT,
            'B' => NumberFormat::FORMAT_NUMBER,
            'C' => NumberFormat::FORMAT_TEXT,
            'D' => NumberFormat::FORMAT_TEXT,
            'E' => NumberFormat::FORMAT_NUMBER
        ];
    }
}

这是我要导出的示例数据集

尝试为您需要显示完整数字的特定列添加“0”

public function columnFormats(): array
    {
        return [
            // F is the column
            'F' => '0'
        ];
    }