laravel-excel导出的时候写入的日期格式数据怎么在excel中正确显示成可以筛选的日期格式数据

public function export($title, $cellData, $columnFormatArr = [])
    {
        ini_set('memory_limit', '500M');
        set_time_limit(0);//设置超时限制为0分钟

        Excel::create($title, function ($excel) use ($cellData, $columnFormatArr) {

            $excel->sheet('detail', function ($sheet) use ($cellData, $columnFormatArr) {
                $sheet->setColumnFormat($columnFormatArr);
                $sheet->rows($cellData);
            });
        })->export('xls');

        die;

    }
// 变更指定事件列的日期格式
$columnFormatArr = [
    'A' => 'yyyy-mm-dd',
    'B' => 'yyyy-mm-dd'
]

注意:只这样设置是不够的,会显示成字符串导致筛选的时候进行的是字符串筛选,需要手动点击后回车或者分列或者复制到文本文件之后回贴才会生效

还要做一步:

excel的日期其实是距离1900年1月1号的天数的数值型
用原始excel的方案来处理,将真实日期转换成距离1900年1月1号的天数之后再写进去就会自动转换成日期格式

数值类型过长的时候会直接变成科学计数法,可以手动后面拼接一个"\t"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值