Laravel excel export - 字符串格式化的列显示为数字

时间:2016-09-12 06:34:53

标签: php excel laravel-5.1 maatwebsite-excel

在localhost中,我可以将列格式设置为PHPExcel_Cell_DataType::TYPE_STRING,这里的工作正常是使用此类型的.xls文件

enter image description here

如果我在现场测试这个,我会得到类似的东西 enter image description here

列值设置为0

为什么我尝试PHPExcel_Cell_DataType::TYPE_STRING格式是因为像65081035703021这样的字符串在ms-excel中显示为数字(基数为10)

对我来说出了什么问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试此代码

namespace App\Exports;

use PhpOffice\PhpSpreadsheet\Shared\Date;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use Maatwebsite\Excel\Concerns\WithMapping;

class InvoicesExport implements WithColumnFormatting, WithMapping
{
    public function map($invoice): array
    {
        return [
            $invoice->invoice_number,
            Date::dateTimeToExcel($invoice->created_at),
            $invoice->total
        ];
    }

    public function columnFormats(): array
    {
        return [
            'B' => NumberFormat::FORMAT_DATE_DDMMYYYY,
            'C' => NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE,
        ];
    }
}

Reference