【PHP】导出excel乱码怎么处理
使用PHP导出excel文档,有时候莫名其妙就会出现导出的数据乱码,现在推荐一个万能修补大法
话不多说,直接上代码
核心就是在处理完数据之后,输出excel文件之前 添加 ob_end_clean()函数;具体见示例代码,此处只罗列部分代码
1 foreach ($licenseList as $key => $item) { 2 $objPHPExcel->setActiveSheetIndex(0) 3 ->setCellValue(\'A\' . ($key + 2), $item["company_name"]) 4 ->setCellValue(\'B\' . ($key + 2), $item["user_name"]) 5 ->setCellValue(\'C\' . ($key + 2), $item["order_number"]) 6 ->setCellValue(\'D\' . ($key + 2), $item[\'apply_type\']==2 ? \'official\':\'trial\') 7 ->setCellValue(\'E\' . ($key + 2), $item["license_key"]) 8 ->setCellValue(\'F\' . ($key + 2), $statusArr[$item[\'license_status\']])->setCellValue(\'G\' . ($key + 2), $item["user_email"]) 9 ->setCellValue(\'H\' . ($key + 2), date(\'y/m/d H:i:s\', strtotime($item[\'insert_time\']))); 10 } 11 12 $objPHPExcel->getActiveSheet()->setTitle(\'Simple\'); 13 $objPHPExcel->setActiveSheetIndex(0); 14 ob_end_clean();//解决乱码核心 就在此处添加此函数 15 header(\'Content-Type: application/vnd.ms-excel\'); 16 header(\'Content-Disposition: attachment;filename="test_list.xls"\'); 17 header(\'Cache-Control: max-age=0\'); 18 header(\'Cache-Control: max-age=1\'); 19 header(\'Expires: Mon, 26 Jul 1997 05:00:00 GMT\'); 20 header(\'Last-Modified: \' . gmdate(\'D, d M Y H:i:s\') . \' GMT\'); 21 header(\'Cache-Control: cache, must-revalidate\'); 22 header(\'Pragma: public\'); 23 24 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, \'Excel5\'); 25 $objWriter->save(\'php://output\'); 26 exit;
如上红色标记代码所示,如果此方法还是不行,请尝试使用iconv()函数,具体使用此处不做详解,请自行百度
祝君好运!
版权声明:本文为guliang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。