멤버십 테이블을 브라우저로 내보내기 위해 phpExcel을 사용했습니다. 오프라인 테스트는 정상이었고 코딩 오류도 없었습니다.
1 테이블은 정상적으로 오프라인으로 내보냈습니다. 온라인으로 내보낸 문제
3, 접미사를 수정한 후 잘못된 문자가 표시됩니다
코드가 이제 게시되었습니다.
case 'test':
$data1 = MySql::fetchAll("SELECT real_name,telephone ,car_id,regtime,endtime,sale, re_tel,type FROM `pw_member` 여기서 유형=1"); $data2 = MySql::fetchAll("SELECT real_name,telephone,car_id,regtime,endtime,sale,re_tel,type FROM `pw_member` 여기서 유형=2" ); $data3 = MySql::fetchAll("SELECT real_name,telephone,car_id,regtime,endtime,sale,re_tel,type FROM `pw_member` 여기서 유형=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');
// 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);//새로 생성된 시트를 현재 활성 시트로 설정
}
$objSheet=$objPHPExcel->getActiveSheet( ); //현재 활성 시트 가져오기
$objSheet->setTitle($i.'Member');
$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;
혹시 이런 문제가 발생하시면 조언 부탁드립니다...