您现在的位置是:技术博客 > PHPPHP PHPExcel导出遇到的编码坑 Lucas2019-07-25 14:29【办公】728人已围观 简介PHPExcel在使用的时候,注意下如果是在windows服务器中需要使用GBK编码,linux默认使用UTF-8编码。如果是ajax下载,可以直接用document.location.href来下载。 PHPEXCEL是php导入导出excel的常用插件,当导出并保存到服务器的时候需要注意编码问题,windows默认使用GBK编码,linux默认使用UTF-8编码,否则会出现无法导出和下载的问题。 #### 一、导出excel到浏览器中 代码如下: ``` header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:attachment;filename=' . $filename); header("Content-Transfer-Encoding:binary"); $objWriter->save('php://output'); ``` #### 二、导出到服务器中,通过ajax下载 后端代码如下: ``` // 先保存在服务器,然后返回文件路径【注意windows默认使用GBK编码,linux默认使用UTF-8编码】 if(strtoupper(substr(PHP_OS,0,3))==='WIN'){ //如果是windows服务器,则保存成GBK编码格式 $filePath = './upload/excel/'.convertGBK($filename); }else{ //如果不是,则保存成UTF-8格式 $filePath = './upload/excel/'.convertUTF8($filename); } $objWriter->save($filePath); $returnJson = []; $returnJson['code'] = 1; $returnJson['msg'] = '导出成功!'; $returnJson['data'] = '/upload/excel/'.$filename; return json($returnJson); // 返回的文件名需要是以UTF-8编码 ``` 前端代码如下: ``` $.ajax({ type:"post",// 请求方式 url:"{:url('rent/export')}", async:true,// 同步异步 dataType:"json", data :{'inst_id':inst,'owner_id':owner,'query_month':month},//这里是前台传到后台的数据 //回调函数 success:function(output){ layer.msg(output.msg); if(output.code){ //成功则直接下载 document.location.href = output.data; } } }); ``` 转载:感谢您对Lucas个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源Lucas个人博客”。 很赞哦! ( 0 ) 上一篇:Git使用篇 下一篇:常见的排序算法 相关文章 高并发库存防控超量 Swoole 基础篇一(初识) Sublime代码格式化 Session与Cookie 点击排行 生活不止眼前的苟且,还有诗和远方 十年一觉电影梦 奥地利基茨比厄尔 禅修治愈身心 自律成就自我 零边际成本社会 Modern PHP 鸟哥的Linux私房菜 本栏推荐 要技术,更要有创意 定时任务 Curl无法发送https请求 Lnmp环境搭建 常用的SQL函数 Windows的cmd指令 ueditor工具栏浮动bug 有趣的js插件 标签云 git laravel swoole javascript vue ajax html css sql linux docker flask django nginx apache thinkphp markdown sublime wechat layui photoshop nodejs mysql windows composer java maven springboot mybatis IDE 猜你喜欢 Swoole 基础篇一(初识) PHP进程管理器 正则的快速上手 Sublime代码格式化 Lnmp环境搭建 高并发库存防控超量 Linux之top命令 常用的SQL函数 站点信息 建站时间:2018-05-01 在线人数:1人 文章统计:263篇 总浏览量:222630次 统计数据:百度统计 个人信息:扫描二维码查看