在本地主机中,我可以将列格式设置为PHPExcel_Cell_DataType::TYPE_STRING
,它的工作正常是使用这种类型的 .xls 文件
列值设置为0
。
为什么我尝试PHPExcel_Cell_DataType::TYPE_STRING
了格式是因为字符串就像65081035703021
在 ms-excel 中显示为数字(以 10 为底)
我怎么了?
在本地主机中,我可以将列格式设置为PHPExcel_Cell_DataType::TYPE_STRING
,它的工作正常是使用这种类型的 .xls 文件
列值设置为0
。
为什么我尝试PHPExcel_Cell_DataType::TYPE_STRING
了格式是因为字符串就像65081035703021
在 ms-excel 中显示为数字(以 10 为底)
我怎么了?
试试这个代码
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,
];
}
}