phpExcel を使用してメンバーシップ テーブルをブラウザにエクスポートしました。オフライン テストは正常で、コーディング エラーなしでエクスポートできました。
1. テーブルはオフラインで通常どおりエクスポートされます
2. 問題のあるフォームをオンラインでエクスポートします。
3、サフィックスを変更すると文字化けが発生します。
今すぐコードを貼り付けます。
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);//新しく作成したシートを現在アクティブなシートとして設定します
}
$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-タイプ: 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;
遭遇しましたこの問題について弟に指導をしたいと思います。感謝の意を表したいと思います...
# ##############################