首页 >PHP讨论组 >phpExcel在线下wamp环境下,正常导出,同样的代码到线上Linux导出文件无法打开,修改文件后缀为.xls后乱码

phpExcel在线下wamp环境下,正常导出,同样的代码到线上Linux导出文件无法打开,修改文件后缀为.xls后乱码phpExcel在线下wamp环境下,正常导出,同样的代码到线上Linux导出文件无法打开,修改文件后缀为.xls后乱码

本人是用phpExcel导出会员表到浏览器,在线下测试正常,可以导出,也无编码错误,

1.线下正常导出的表格

TIM图片20171110094544.png

2.线上导出有问题的表格TIM图片20171110094125.png

3,修改后缀后显示乱码

TIM图片20171110094209.png

现贴出代码.

case 'test':

$data1 = MySql::fetchAll("SELECT real_name,telephone,car_id,regtime,endtime,sale,re_tel,type FROM `pw_member` where type=1");

$data2 = MySql::fetchAll("SELECT real_name,telephone,car_id,regtime,endtime,sale,re_tel,type FROM `pw_member` where type=2");

$data3 = MySql::fetchAll("SELECT real_name,telephone,car_id,regtime,endtime,sale,re_tel,type FROM `pw_member` where type=3");

//3种会员类型

foreach($data1 as $key=>&$val){

if($val['type']==1){

$val['type']='普通会员';

}

if($val['regtime']>58001){

$val['regtime']=date('Y-m-d',$val['regtime']);

}

if($val['endtime']>58001){

$val['endtime']=date('Y-m-d',$val['endtime']);

}

}

foreach($data2 as $key=>&$val){

if($val['type']==2){

$val['type']='VIP会员';

}

if($val['regtime']>58001){

$val['regtime']=date('Y-m-d',$val['regtime']);

}

if($val['endtime']>58001){

$val['endtime']=date('Y-m-d',$val['endtime']);

}

}

foreach($data3 as $key=>&$val){

if($val['type']==3){

$val['type']='金卡会员';

}

if($val['regtime']>58001){

$val['regtime']=date('Y-m-d',$val['regtime']);

}

if($val['endtime']>58001){

$val['endtime']=date('Y-m-d',$val['endtime']);

}

}

// Cxt::dump($data1);

$a=array(

0=>'真实姓名',

1=>'电话号码',

2=>'车牌号',

3=>'注册日期',

4=>'到期时间',

5=>'推荐人',

6=>'推荐人电话',

7=>'会员类型',

);

array_unshift($data1,$a); //加入表头

array_unshift($data2,$a); //加入表头

array_unshift($data3,$a); //加入表头

$data[1]=$data1;

$data[2]=$data2;

$data[3]=$data3;

require('./include/PHPExcel/PHPExcel.php');

// require dirname(__FILE__).'/PHPExcel/PHPExcel.php';

$objPHPExcel = new PHPExcel();//实例化phpexcel类

// Cxt::dump($objPHPExcel);

for($i=1;$i<=3;$i++){

if($i>1){

$objPHPExcel->createSheet();//创建新的内置表

$objPHPExcel->setActiveSheetIndex($i-1);//把新创建的sheet设置为当前活动的sheet

}

$objSheet=$objPHPExcel->getActiveSheet();//获取当前活动sheet

$objSheet->setTitle($i.'会员');

$objSheet->fromArray($data[$i]);

}

$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');

$name=date('Y-m-d',time()).time();

$name='member'.$name.'.xlsx';

// $objWriter->save($name);//保存到服务器

// header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出2003文件

header('Content-Type: application/vnd.ms-excel; charset=UTF-8');

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8');

header('Content-Disposition: attachment;filename='."$name");//告诉浏览器将输出文件的名称

header('Cache-Control: max-age=0');

$objWriter->save("php://output");

break;

有遇到这种问题的希望给小弟指导下,感激不尽...









 
0
 
+1
-1
 
分享
全部回复 (0)我来回答
无数据提示还没有回复,楼主喊你快去抢前排~~~我来回答