php关于phpexcel乱码问题

何建城 2015-12-26 11:44:40
导出excel文件 出现了一个问题 在导出行数5行以上的时候 导出数据格式正常 在5行一下数据的时候 中文全部乱码 这个问题请教各位大神 代码贴出来下面
$filename='exceptionOrder'.date('Y-m-d');
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:attachment;filename=".$filename.".xls");
header("Pragma: no-cache");
header("Expires: 0");
$table = '';
$table.='<html xmlns:x="urn:schemas-microsoft-com:office:excel" ><table cellpadding="0" cellspacing="0" border="1" style="br:mso-data-placement:same-cell;">'.PHP_EOL;
$table.='<thead>
<tr>
<td style="font-size:14px;font-weight:bold;padding:5px;">序号'.iconv("gb2312","UTF-8",'序号').'</td>
<td style="font-size:14px;font-weight:bold;padding:5px;">SKU</td>
<td style="font-size:14px;font-weight:bold;padding:5px;">仓库</td>
<td style="font-size:14px;font-weight:bold;padding:5px;">库位</td>
<td style="font-size:14px;font-weight:bold;padding:5px;">实库存</td>
</tr>
</thead>'.PHP_EOL;
$i = 1;
foreach($data as $key =>$val){
if($val['orders_warehouse_id']==1000){
$str = "深圳一仓";
}else if($val['orders_warehouse_id']==1025){
$str = "义乌仓";
}
$table.='<tr><td>'.$i.'</td>
<td>'.$val['product_sku'].'</td>
<td>'.$str.'</td>
<td>'.$val['products_location'].'</td>
<td>'.$val['actual_stock'].'</td>'.PHP_EOL;
$i++; //序号自增
}
$table.='</table></html>'.PHP_EOL;
echo $table;
...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
看小雪 2015-12-29
  • 打赏
  • 举报
回复
$table = pack("C3",239,187,191); 试下行不。为啥你用html格式展示呢,我通常是用csv格式,让文件下载的。
看小雪 2015-12-29
  • 打赏
  • 举报
回复
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // 添加 BOM 如果导出csv格式的话,在WPS上都正常,就是在MS office上会乱码。加上这个就正常了。我也是最近才知道的。
lirenbing01 2015-12-29
  • 打赏
  • 举报
回复


应该是你数据库出来的时候已经有问题了
何建城 2015-12-29
  • 打赏
  • 举报
回复
楼上两位都不对 请看清问题
王宣成 2015-12-28
  • 打赏
  • 举报
回复
转下码就行了
xuzuning 2015-12-26
  • 打赏
  • 举报
回复
没看到在哪里用了 phpexcel
PHP excel通用成绩查询系统 v7.8 SAE版 更新日志 1. 对手机版页面做了较多优化。 2. 全部重新排了使用说明书。 3. 更多细节优化:比如对数据文件的识别更精准可靠。 4. 优化选项读取, 用户无需按utf-8编码上传(即下拉不会乱码)。 5. 修正因为打包下载导致的:查询结果 几个字后面空白问题PHP excel通用成绩查询系统简介 PHP excel通用成绩查询系统是个极为简单却非常通用、非常方便的成绩查询系统,通用于几乎所有Excel单二维数据表查询。只需修改 查询条件和顶部、底部文字(非常简单),即可用于几乎所有工资等查询,成绩查询,物业查询,收电费查询,录取查询,证书查询等场景哦。 使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响) 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。 sae直接上传代码包即可和演示一样的效果,让你可以免费实现查询系统 (免费代码 免费二级域名 免费sae空间) 其他linux PHP环境,如果乱码请用utf-8字符集上传。 1.非常通用。无论你Excel/Wps二维表几列,列标题各是什么,直接支持。其他格式导出为csv或excel后同样支持。查询结果几乎都由你Excel二维表控制,平时只需维护好你的Excel表,而操作Excel,几乎每台电脑都有软件可以打开编辑,几乎谁都会操作。 2.使用简单。只需修改查询条件和标题,然后把你平时输入的excel二维表进行:复制,粘贴,更名,上传,特别方便,发布一次成绩查询,半分钟内可以解决。修改查询查询条件等,记事本打开编辑几个字即可,自定义是否使用验证码。 3.市场广泛。可以广泛用于一次性出来的改动很少的成绩查询,录取查询,证书查询系统(每个学校,教育机构,事业单位考试等都可以用到),工资查询系统(每个企业,学校,所有单位都可能用到),水电费查询系统等(小区,物业公司,大学寝室等),录取,证书查询系统。 4.使用灵活:支持多次查询,比如工资查询往往多月查询,那么你只需一个月放一个数据库,下拉的查询选项自动获取(选项即文件名);且每次查询除了设置的查询条件列的标题得一致外,其他的都是自定义可以不一样(任意列数,任意列标题,任意行数);如果查询条件不一致,将代码文件复制一份后用不同文件夹命名,然后修改查询条件即可使用。 PHP excel通用成绩查询系统页面截图展示 相关阅读 同类推荐:站长常用源码

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧