后端开发|PHP问题
php,excel
后端开发-PHP问题
娱乐网 php源码,安装ubuntu界面卡在,tomcat启了2次的问题,动物世界爬虫片头,php5.6环境搭建,泉州seo网络lzw
互助 网站源码下载,ubuntu怎么用ssr,tomcat启动到最后闪退,app如何识别爬虫,php日历表代码平铺显示,seo元创lzw
php导出excel文件乱码问题
qt版聊天软件源码,vtk8.1 ubuntu,浏览器连接tomcat,川农爬虫,php加载ie控件,seo的基本步骤seo博客lzw
使用PHP导出excel文档,有时候莫名其妙就会出现导出的数据乱码,现在推荐一个万能修补大法
话不多说,直接上代码
核心就是在处理完数据之后,输出excel文件之前 添加 ob_end_clean()函数;具体见示例代码,此处只罗列部分代码
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: rial) ->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();//解决乱码核心 就在此处添加此函数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;
如上红色标记代码所示,如果此方法还是不行,请尝试使用iconv()函数,具体使用此处不做详解,请自行百度
推荐:《PHP教学》
相关介绍:
ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲
说明
ob_end_clean ( void ) : bool
此函数丢弃最顶层输出缓冲区的内容并关闭这个缓冲区。如果想要进一步处理缓冲区的内容,必须在ob_end_clean()之前调用ob_get_contents(),因为当调用ob_end_clean()时缓冲区内容将被丢弃。
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。 错误的原因首先是,在调用时没有一个起作用的缓冲区,或者是因为某些原因缓冲区不能被删除(可能对特殊缓冲区而言)。
错误/异常
如果函数失败了,将引发一个E_NOTICE异常。
如果觉得《怎么解决php导出excel文件乱码问题》对你有帮助,请点赞、收藏,并留下你的观点哦!