Heim > Backend-Entwicklung > PHP-Tutorial > 操作系统 - php csv导出 在window下office打开正常,但在MAC系统下打开只有一列

操作系统 - php csv导出 在window下office打开正常,但在MAC系统下打开只有一列

WBOY
Freigeben: 2016-06-06 20:35:17
Original
1453 Leute haben es durchsucht

csv导出代码:

public function export_csv(){
        if(($id = $this->get_input('resultId')) == '') {
            $this->msg('参数有误');
        }
        $result = call_mod_func('admin/activity_mod', 'get_result', array($id));
        $str = "姓名,邮箱,手机,微信号" . PHP_EOL;
        $str = iconv('utf-8', 'gb2312', $str);  //中文转码

        foreach($result['rows'] as $row) {
            $name = iconv('utf-8', 'gb2312', $row['name']);
            $email = $row['email'];
            $mobile = $row['mobile'];
            $weixinid = iconv('utf-8', 'gb2312', $row['weixinid']);

            $str .= $name . ',' . $email . ',' . $mobile . ',' . $weixinid . PHP_EOL;
        }

        $filename = date('Ymd', gettime()) . '.csv';  //设置文件名
        
        header("Content-type:text/csv");
        header("Content-Disposition:attachment;filename=".$filename);
        header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
        header('Expires:0');
        header('Pragma:public');
        echo $str;
    }
Nach dem Login kopieren
Nach dem Login kopieren

这段代码
苹果系统下,用excel打开只有一列:
操作系统 - php csv导出 在window下office打开正常,但在MAC系统下打开只有一列

windows系统下,用excel打开有4列:
操作系统 - php csv导出 在window下office打开正常,但在MAC系统下打开只有一列

请问这代码要怎么修改?才能兼容多个系统呢?
【如果用分号分隔的话,就MAC系统下正常,windows下只有一列】

回复内容:

csv导出代码:

public function export_csv(){
        if(($id = $this->get_input('resultId')) == '') {
            $this->msg('参数有误');
        }
        $result = call_mod_func('admin/activity_mod', 'get_result', array($id));
        $str = "姓名,邮箱,手机,微信号" . PHP_EOL;
        $str = iconv('utf-8', 'gb2312', $str);  //中文转码

        foreach($result['rows'] as $row) {
            $name = iconv('utf-8', 'gb2312', $row['name']);
            $email = $row['email'];
            $mobile = $row['mobile'];
            $weixinid = iconv('utf-8', 'gb2312', $row['weixinid']);

            $str .= $name . ',' . $email . ',' . $mobile . ',' . $weixinid . PHP_EOL;
        }

        $filename = date('Ymd', gettime()) . '.csv';  //设置文件名
        
        header("Content-type:text/csv");
        header("Content-Disposition:attachment;filename=".$filename);
        header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
        header('Expires:0');
        header('Pragma:public');
        echo $str;
    }
Nach dem Login kopieren
Nach dem Login kopieren

这段代码
苹果系统下,用excel打开只有一列:
操作系统 - php csv导出 在window下office打开正常,但在MAC系统下打开只有一列

windows系统下,用excel打开有4列:
操作系统 - php csv导出 在window下office打开正常,但在MAC系统下打开只有一列

请问这代码要怎么修改?才能兼容多个系统呢?
【如果用分号分隔的话,就MAC系统下正常,windows下只有一列】

这问题很难?竟然没人回答。。。。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage