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();