??浣跨??HPExcel杩?绋?褰?涓????拌???涓???棰?,?葷?涓?涓?,浠ュ??ヨ??
???跺??瀵煎?轟?????涓?寮?????棰?,?葷?浜?涓?,??浠ュ?璇?杩??瘋В??
1.??arning锛??ㄧ??涓?琛???浜?杩?琛?浠g??锛?
error_reporting(0);
杩?琛?浠g????浣??ㄥ氨????warning锛?error绛?绛???淇℃??涓??劇ず?烘?ャ??
?????ц?锛?瀵煎?烘?ョ??excel??浠跺氨??浠ラ『?╂??寮?浜???
2.???跺????涓?寮?,????缂?????xlsx??xls??涓???.璇?璇???涓?杞戒??ョ????浠跺??缂???涓?lsx?逛負xls灏辮?芥??寮?,?????蜂??ヤ?涔???!!
???跺????寮???涔辯???葷?濡?涓?:
1.??浜鴻?存??Bom澶寸????棰?,涓?杩??????惰?娌℃??????浣???涔????朵腑涔?涓???褰卞????绱?.
2.phpexcel瀵煎?烘?ョ????涔辯??,????涓哄?煎?虹???跺??瀛?绗???????棰?,娌℃??璁劇疆濂?????瀵煎?烘?剁??浠g??浠ュ???翠釜??妗g??缂???!!??濂藉?煎?虹???跺????utf-8???煎?.?朵????煎?娌℃??娣卞?ョ??绌?
瀵煎?烘?ョ??Excel??绌虹?界??:
1.绌虹?界??璇? ???芥???版??娌℃???炬?g‘!!!??姝ユ???扮?????版????姝g‘??
2.????浠g?????㈡?????т???绱㈠????瑰??誨~?ユ?版??琛???浠ュ??????????扮??煎?涓?涓???涓??蜂?瀵艱?村?煎?虹??琛ㄦ??绌虹??
?瑰??????P妗??朵??㈡????瑕???涓????ㄤ嬌??HPExcel???跺??,??????瀹?渚??????㈣???\,????浼??ラ??,?句??扮被??绛?绛?.
瀵煎?虹???跺????绀?lass 'XMLWriter' not found,瑙e?蟲?規???:
$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');
?逛負
$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5')
涓??㈡??????浠g??,mark涓?涓?.
if(!empty($_POST['out']))
{
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');
/** Include PHPExcel */
require_once dirname(__FILE__) . '/PHPExcel.php';//涓??????版??璇峰???ヤ?????璺?寰?
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();//??濮???涓葷被.
// Set document properties 璁劇疆灞??? $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
// Miscellaneous glyphs, UTF-8
//灏?瑕??峰??????琛ㄦ?版??,杩?涓??版?規???ㄧ????TP妗?????浠ヨ??峰??,涓?????妗?????涓????垮?版?版?????規?,璇鋒?規????宸辨???佃??瀹?涔?
$list = $User->where('sell=1')->field('giftpic,id,giftname,des,credit,number,sell,addtime')->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
foreach($list as $a=>$b){
$lamp[] = array_values($b);//???寵???扮???涓?琛??㈡??绱㈠?,?逛究???㈢??璋??? }
// ?峰??????琛ㄧ??????瀛?娈? $fields = $User->getDbFields();
foreach($fields as $f=>$d){
$ff[][] = $d;
}
//??宸卞????excel????,濡???瓒?杩?26涓?,瓒?杩?52涓?,78涓???涓???????缁?涓?????????.??浠ヨ??宸卞????.
$s = 'abcdefghijklmnopqrstuvwxyz';
$aa = str_split($s,1);
$b=array();
for($i=0;$i<count($ff);$i++){
if($i<26){
$b[$aa[$i]]=$i;
}else if($i<52){
$m='A';
$b[$m.$aa[$i-26]]=$i;
}else if($i<78){
$m='B';
$b[$m.$aa[$i-52]]=$i;
}
}
//杩?涓??版????????瀹?涔???琛ㄥご,灏辨??瀵煎?轟?????Excel??绗?涓?琛?,?規????宸遍??瑕???瀹?涔?.
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('a1','?劇??');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('b1','ID');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('c1','??绉?);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('d1','浣?棰?');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('e1','绉???');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('f1','搴?瀛???);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('g1','???㈡??);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('h1','娣誨???堕??);
foreach($lamp as $i=>$v)
{
foreach($b as $kk => $vv)
{
mb_convert_encoding($v[$vv], "UTF-8");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($kk.($i+2),$v[$vv]);//???版?????ヨ???xcel
}
}
// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('vip');//??瀹?涔?宸ヤ?琛ㄧ????绉?????瀹?涔?.
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
ob_end_clean();//娓??ょ??插?虹????瀹?浠ラ?插?煎?虹????瀹逛貢??,涓??芥??寮?绛???棰?,??涓???濂?
// Redirect output to a client??s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Content-Type: application/vnd.ms-excel;charset=gb2312');//??瀹?涔???瀛?绗???
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//瀵煎?虹???規?瀹?渚???
$objWriter->save('php://output');//瀵煎?? exit;
}