phpexcel乱码错误的原因大概有以下几点:
1:windows文件名是采用gbk编码,而网页编码大多数是utf8,
将文件名编码转换成gbk就可以了
:iconv('utf-8", "gb2312", $filename)
2,输出文件加入对应的头信息
Header('content-Type:application/vnd.ms-excel;charset=utf-8');
3,确保网页没有输出其他内容,我在用phpexcel导出数据的时候,是在一个有内容的网页上调用导出函数生成的文件,发现里面的内容竟然不是函数里传值的数组内容,是网页的表单名等等内容,之后我改成了在空白页面调用,就没错了(原谅我新手没想其他的解决方法)
4,清除缓冲区
之后的第二天,本来我的导出已经是正确的,在第二天中午却发现又乱码了,直到我在百度查到了清除缓冲区
ob_clean();
在导出的header头部之前加清除缓冲区的函数,就可以解决乱码错误的问题了