Php Excel将1/1转换为日期(DD.MM.YYYY)

Php Excel将1/1转换为日期(DD.MM.YYYY),php,excel,Php,Excel,我正在从web应用程序导出CSV,我有一个列格式,例如1/1或1/6。。。Excel将其转换为1.1.2017。或2017年6月1日 这是我的导出功能: public function exportCSVPrint($id) { $tablePrint = DB::connection('mysql2')->table('mc_schaltdaten_print')->select('s_magazin', 'datum', 's_ausgabe', 's_a

我正在从web应用程序导出CSV,我有一个列格式,例如1/1或1/6。。。Excel将其转换为1.1.2017。或2017年6月1日

这是我的导出功能:

public function exportCSVPrint($id)
    {
        $tablePrint = DB::connection('mysql2')->table('mc_schaltdaten_print')->select('s_magazin', 'datum', 's_ausgabe', 's_ausrichtung', 's_jahrgang', 's_format', 's_seite', 's_seiten', 'brutto', 'pzn')->where('spotid', $id)->get();
        $csv        = \League\Csv\Writer::createFromFileObject(new \SplTempFileObject());

        $header = [Lang::get('language.magazine'), Lang::get('language.date'), Lang::get('language.ausgabeVersion'), Lang::get('language.seite'), Lang::get('language.seiten'), 'Format', Lang::get('language.ausrichtung'), Lang::get('language.anzeigenPreis')];
        $csv->setDelimiter(';');
        $csv->insertOne($header);

        foreach ($tablePrint as $t) {
            $rows = [
                [$t->s_magazin, $t->datum, $t->s_ausgabe, $t->s_seite, $t->s_seiten, $t->s_format, $t->s_ausrichtung, $t->brutto],
            ];

            $csv->insertAll($rows);
        }
        $csv->output($id . '.csv');
    }
我怎样才能得到原始的1/1格式,而不是日期格式?

很烦人,不是吗

Excel“helpfully”假设您在键入类似
a/b
的内容时键入了一个日期,并且适当地默认了年份


如果在字符串前面加上单引号字符

,则可以保留原始文本。您刚刚发现Excel很糟糕,在处理CSV格式的数据时,它尤其糟糕。遗憾的是,您所描述的问题实际上是Excel的CSV处理中不太严重的错误之一。请注意,还有其他几个更糟糕。是的,MS Excel在导入csv文件时会尝试“二次猜测”值的含义,但它并不总是按预期工作。这就是为什么当您计划使用MS Excel查看文件时,CSV不是最好的格式;D如何在数组中插入引号,因为在我的例子中,
$t->s_format
是数组成员。