匯出excel檔案 出現了一個問題 在匯出行數5行以上的時候 匯出資料格式正常 在5行一下資料的時候 中文全部亂碼 這個問題請教各位大神 代碼貼出來下面
$filename='exceptionOrder'.date('Y-m-d');
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:attachment;filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");
$table = '';
$table.='
'.PHP_EOL; $table.='
| 序號'.iconv("gb2312","UTF-8",'序號').' |
SKU |
倉庫 |
庫位 |
實庫存 |
'.PHP_EOL; $i = 1; foreach($data as $key =>$val){ if($val['orders_warehouse_id']==1000){ $str = "深圳一倉"; }else if($val['orders_warehouse_id']==1025){ $str = "義烏倉"; } $table.='
| '.$i.' |
'.$val['product_sku'].' |
'.$str.' |
'.$val['products_location'].' |
'.$val['actual_stock'].' | '.PHP_EOL; $i++; //序號自增 } $table.='
'.PHP_EOL;
echo $table;
回複討論(解決方案)
沒看到在哪裡用了 phpexcel
轉下碼就行了
樓上兩位都不對 請看清問題
應該是你資料庫出來的時候已經有問題了
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // 添加 BOM
如果匯出csv格式的話,在WPS上都正常,就是在MS office上會亂碼。加上這個就正常了。我也是最近才知道的。
$table = pack("C3",239,187,191);
試下行不。為啥你用html格式展示呢,我通常是用csv格式,讓檔案下載的。