php导出excel

php导出excel

vnd.ms-excel.numberformat:@

数字格式转换:

1) 文本:vnd.ms-excel.numberformat:@ 
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd 
3) 数字:vnd.ms-excel.numberformat:#,##0.00 
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00 
5) 百分比:vnd.ms-excel.numberformat: #0.00% 

由于没办法使用phpexcel,用常规方法很多种都尝试了,但是在不同的操作系统兼容性很差,会出现乱码的情况,最后尝试了用phpmyadmin的excel导出方式,解决了乱码的问题

            $file_name = "薪汇通导出订单" . date('Y-m-d', time()) . ".xls";
            $file_name = iconv("utf-8", "gb2312", $file_name);
            ob_end_clean();//清除缓冲区,避免乱码
            header("Content-type:application/vnd.ms-excel;charset=gb2312");
            header("Content-Disposition:filename=" . $file_name);

            $content = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> ';
            $content .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ';
            $content .= '<html><head><meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> <style id="Classeur1_16681_Styles"></style></head><body>';

            $content .= "<table border='1'><tr><td>" . $this->convertNull("批次号") . "</td><td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull(date("YmdHis")) . "</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
            $content .= "<tr><td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("流水号") . "</td>";
//            $content .= "<tr><td>" . json_encode($list) . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("工号") . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("姓名") . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("身份证号码") . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("手机号码") . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("银行帐号") . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("开户行名称") . "</td>";
//            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->change_coding("经营服务费(税前)") . "</td>";
            $content .= "<td style='background-color:deepskyblue;color:white;'>" . $this->convertNull("经营服务费(税后)") . "</td></tr>";
            foreach ($list as $val) {
                $content .= "<tr><td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['wdp_no']) . "</td>";
                $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['wdp_uid']) . "</td>";
                $content .= "<td>" . $this->convertNull($val['wdp_real_name']) . "</td>";
                //身份证
                $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['id_number']) . "</td>";
                //手机号
                if ($utype == 1) {
                    $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['dbu_phone']) . "</td>";
                } elseif ($utype == 2) {
                    $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['ag_account']) . "</td>";
                } elseif ($utype == 3) {
                    $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['u_account']) . "</td>";
                } else {
                    $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['u_account']) . "</td>";
                }
                $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['wdp_bank_card']) . "</td>";
                $content .= "<td>" . $this->convertNull($val['wdp_bank_name']) . "</td>";
//                $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['wdp_fee'] + $val['wdp_real_amount']) . "</td>";
                $content .= "<td style='vnd.ms-excel.numberformat:@'>" . $this->convertNull($val['wdp_real_amount']) . "</td></tr>";
                ob_end_clean();//清除缓冲区,避免乱码
            }
            $content .= "</table></div></body></html> ";
            echo $content;
            exit();



回复列表



回复操作






   

发布时间:2019-01-05 10:45:10