php導(dǎo)出excel亂碼的解決辦法:首先打開相應(yīng)的php代碼文件;然后在處理完數(shù)據(jù)之后,以及輸出excel文件之前添加ob_end_clean函數(shù)即可解決亂碼問(wèn)題。
推薦:《php視頻教程》
php導(dǎo)出excel亂碼
使用php導(dǎo)出excel文檔,有時(shí)候莫名其妙就會(huì)出現(xiàn)導(dǎo)出的數(shù)據(jù)亂碼,現(xiàn)在推薦一個(gè)萬(wàn)能修補(bǔ)大法
話不多說(shuō),直接上代碼
核心就是在處理完數(shù)據(jù)之后,輸出excel文件之前 添加 ob_end_clean()函數(shù);具體見示例代碼,此處只羅列部分代碼
foreach ($licenselist as $key => $item) { $objphpexcel->setactivesheetindex(0) ->setcellvalue('a' . ($key 2), $item["company_name"]) ->setcellvalue('b' . ($key 2), $item["user_name"]) ->setcellvalue('c' . ($key 2), $item["order_number"]) ->setcellvalue('d' . ($key 2), $item['apply_type']==2 ? 'official':'trial') ->setcellvalue('e' . ($key 2), $item["license_key"]) ->setcellvalue('f' . ($key 2), $statusarr[$item['license_status']])->setcellvalue('g' . ($key 2), $item["user_email"]) ->setcellvalue('h' . ($key 2), date('y/m/d h:i:s', strtotime($item['insert_time']))); } $objphpexcel->getactivesheet()->settitle('simple'); $objphpexcel->setactivesheetindex(0); ob_end_clean();//解決亂碼核心 就在此處添加此函數(shù) header('content-type: application/vnd.ms-excel'); header('content-disposition: attachment;filename="test_list.xls"'); header('cache-control: max-age=0'); header('cache-control: max-age=1'); header('expires: mon, 26 jul 1997 05:00:00 gmt'); header('last-modified: ' . gmdate('d, d m y h:i:s') . ' gmt'); header('cache-control: cache, must-revalidate'); header('pragma: public'); $objwriter = phpexcel_iofactory::createwriter($objphpexcel, 'excel5'); $objwriter->save('php://output'); exit;如上代碼所示,如果此方法還是不行,請(qǐng)嘗試使用iconv()函數(shù),具體使用此處不做詳解,請(qǐng)自行百度