Saya menggunakan phpExcel untuk mengeksport jadual keahlian ke penyemak imbas Ujian luar talian adalah normal, ia boleh dieksport, dan tiada ralat pengekodan
1 Jadual dieksport secara normal
2 masalah dieksport dalam talian3, selepas mengubah suai akhiran, aksara bercelaru dipaparkanKod kini dipos.kes 'test': $data1 = MySql:"telefon_fetchAname ,car_id,regtime,endtime,sale, re_tel,type FROM `pw_member` where type=1"); $data2 = MySql::fetchAll("SELECT real_name,telefon,car_id,regtime,endtime,sale,re_tel,type DARI `ahli_pw` di mana jenis=2" ); $data3 = MySql::fetchAll("PILIH nama_sebenar,telefon,id_kereta,masa reg,masa tamat,jualan,tel semula,taip DARI `ahli_pw` di mana jenis=3");
//3 jenis ahli foreach($data1 as $key=>&$val){ if($val['type']==1){ $val[' type']='ahli biasa'; } 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 sebagai $key=>&$val){ if($val['type']==2){ type']='ahli 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 sebagai $key=>&$val){ if($val['type']==3){ type']='Gold Member' ; } 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=>'Nama sebenar', 1=>
2=>'Nombor plat lesen ',
3=>'Tarikh pendaftaran',
4=>'Masa tamat tempoh',
5=>'Pengesyoran',
=>'6 Nombor telefon pengesyor',7=>'Jenis Ahli',
);
array_unshift($data1,$a); //Tambah pengepala
array_unshift($data2,$a); //Tambah tajuk
( $data_unshift ,$a); //Tambah pengepala
$data[1]=$data1;
$data[2]=$data2;
$data[3]=$data3;
memerlukan(' ./include /PHPExcel/PHPExcel.php');
// memerlukan dirname(__FILE__).'/PHPExcel/PHPExcel.php';
$objPHPExcel = PHPExcel();//Segera kelas phpexcel
/ / Cxt: :dump($objPHPExcel); helaian terbina dalam baharu
$objPHPExcel->setActiveSheetIndex($i-1);//Tetapkan helaian yang baru dibuat sebagai helaian yang sedang aktif
}
$objSheet=$objPHPExcel->getActiveSheet(); //Dapatkan helaian aktif semasa
$objSheet->setTitle($i.'Ahli');
$objSheet->fromArray($data[$i]);
}
$ obj =PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$name=date('Y-m-d',time()).masa();
$name='member'.$name.' . xlsx';
// $objWriter->save($name);//Simpan ke pelayan
// header('Content-Type: application/vnd.ms-excel');//Beritahu pelayar Fail 2003 akan menjadi output
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 " );//Beritahu penyemak imbas nama fail output
pengepala('Cache-Control: max-age=0');
$objWriter->save("php://output");
Break;
Jika ada yang menemui masalah seperti ini, sila beri saya panduan.
I Know H.T.M.L(How to Meet Ladies)