麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

PHPExcel學(xué)習(xí)筆記

2020-03-22 19:54:22
字體:
供稿:網(wǎng)友
  • 以下學(xué)習(xí)筆記均是從慕課網(wǎng)的視頻里整理得來,僅作自己學(xué)習(xí)記錄和交流之用,課程鏈接為 http://www.imooc.com/view/433

    學(xué)習(xí)PHPExcel準(zhǔn)備工作

    php版本不能太低

    保持php版本5.3以上

    下載PHPExcel插件

    https://github.com/PHPOffice/PHPExcel/archive/1.8.1.zip

    解壓后提取html' target='_blank'>classes文件夾到工作目錄,并重命名為excel

    此處還用到了虛擬域名的設(shè)置,可以參考下篇博文:http://blog.csdn.net/panjican/article/details/51660751

    使用PHPExcel導(dǎo)出文件步驟

    方法一:

    <?php    header("Content-Type: text/html;charset=utf-8");    $dir = dirname(__FILE__);//找到當(dāng)前腳本所在路徑	require_once $dir."/PHPExcel.php"; //引入文件	$obj = new PHPExcel();// 實(shí)例化PHPExcel類,等價(jià)于在桌面上新建一個(gè)excel表格	$objSheet = $obj->getActiveSheet(); //獲得當(dāng)前活動sheet的操作對象	$objSheet->setTitle('demo'); //給當(dāng)前活動sheet設(shè)置名稱    //方法1	$objSheet->setCellValue("A1","姓名")->setCellValue("B1","分?jǐn)?shù)"); //給當(dāng)前活動sheet填充數(shù)據(jù)	$objSheet->setCellValue("A2","張三")->setCellValue("B2","50");	$objWriter = PHPExcel_IOFactory::createWriter($obj,"Excel2007"); //按照指定格式生成excel文件	$objWriter->save($dir."/demo.xlsx");  //保存文件?>

    方法二:

    <?php    header("Content-Type: text/html;charset=utf-8");    $dir = dirname(__FILE__);//找到當(dāng)前腳本所在路徑	require_once $dir."/PHPExcel.php"; //引入文件	$obj = new PHPExcel();// 實(shí)例化PHPExcel類,等價(jià)于在桌面上新建一個(gè)excel表格	$objSheet = $obj->getActiveSheet(); //獲得當(dāng)前活動sheet的操作對象	$objSheet->setTitle('demo'); //給當(dāng)前活動sheet設(shè)置名稱	//方法二	$array = array(		 		array(),				array("","姓名","分?jǐn)?shù)"),				array("","李四","60"),				array("","王五","100")		      );	$objSheet->fromArray($array); //直接加載數(shù)據(jù)塊來填充數(shù)據(jù)	$objWriter = PHPExcel_IOFactory::createWriter($obj,"Excel2007");	$objWriter->save($dir."/demo_1.xlsx");?>

    PS:推薦使用第一種方法,第一種對內(nèi)存消耗比較少,且代碼可讀性更強(qiáng),而且可以設(shè)置單元格的樣式

    ??

    PHPExcel導(dǎo)出MySQL數(shù)據(jù)庫數(shù)據(jù)

    ①讀取數(shù)據(jù)并輸出到本地文件保存

    數(shù)據(jù)庫結(jié)構(gòu)


    本人相關(guān)文件放置目錄位置

    dbconfig.php

    <?php   	$phpexcel = array(   			'host' => "127.0.0.1",   			'username' => "root",   			'password' => "",   			'database' => "phpexcel",   			'charset'  => "utf8"   		);?>

    db.php

    <?php	require_once dirname(__FILE__)."/dbconfig.php"; //引入配置文件	class db {		public $conn = null;        //構(gòu)造方法 實(shí)例化類時(shí)自動調(diào)用		public function __construct($config){			$this->conn = mysqli_connect($config['host'],$config['username'],$config['password'],$config['database']) or die(mysqli_connect_error()); //連接數(shù)據(jù)庫			mysqli_query($this->conn, "set names ".$config['charset']) or die(mysqli_connect_error());//設(shè)定mysql編碼		}		//根據(jù)傳入sql語句 查詢mysql結(jié)果集		public function getResult($sql){			$resource = mysqli_query($this->conn,$sql) or die(mysqli_connect_error());//查詢sql語句			$res = array();			while($row = mysqli_fetch_assoc($resource)){				$res[] = $row;			}			return $res;		}		//根據(jù)傳入年級數(shù) 查詢每個(gè)年級的學(xué)生數(shù)據(jù)		public function getDataByGrade($grade){			$sql = "select username,score,class from user where grade=".$grade." order by score desc";			$res = self::getResult($sql);			return $res;		}	}?>

    export.php

    <?php	$dir = dirname(__FILE__); //查找當(dāng)前腳本所在路徑	require_once $dir."/db.php";//引入mysql操作類文件	require_once $dir."/PHPExcel.php";//引入PHPExcel文件	$db = new db($phpexcel); //實(shí)例化db類 連接數(shù)據(jù)庫	$objPHPExcel = new PHPExcel(); //實(shí)例化PHPExcel類,等同于在桌面上新建一個(gè)excel	for( $i = 1; $i <= 3; $i++ ){		if($i > 1){			$objPHPExcel->createSheet();//創(chuàng)建新的內(nèi)置表		}		$objPHPExcel->setActiveSheetIndex( $i - 1 ); //把新創(chuàng)建的sheet設(shè)定為當(dāng)前活動sheet		$objSheet = $objPHPExcel->getActiveSheet(); //獲取當(dāng)前活動sheet        $objSheet->setTitle($i."年級"); //給當(dāng)前活動sheet起個(gè)名字		$data = $db->getDataByGrade($i); //查詢每個(gè)年級的學(xué)生數(shù)據(jù)		$objSheet->setCellValue("A1","姓名")->setCellValue("B1","分?jǐn)?shù)")->setCellValue("C1","班級");//填充數(shù)據(jù)		$j = 2;		foreach($data as $key =>$value ){			$objSheet->setCellValue("A".$j,$value['username'])->setCellValue("B".$j,$value['score'])->setCellValue("C".$j,$value['class']."班");			$j++;		} }		$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); //生成excel文件		$objWriter->save($dir."/export_1.xls");//保存文件	?>

    瀏覽器輸入鏈接地址,并打開

    生成的excel文件,打開如下:

    ②輸出至瀏覽器

    export.php

    <?php	$dir = dirname(__FILE__); //查找當(dāng)前腳本所在路徑	require_once $dir."/db.php";//引入mysql操作類文件	require_once $dir."/PHPExcel.php";//引入PHPExcel文件	$db = new db($phpexcel); //實(shí)例化db類 連接數(shù)據(jù)庫	$objPHPExcel = new PHPExcel(); //實(shí)例化PHPExcel類,等同于在桌面上新建一個(gè)excel	for( $i = 1; $i <= 3; $i++ ){		if($i > 1){			$objPHPExcel->createSheet();//創(chuàng)建新的內(nèi)置表		}		$objPHPExcel->setActiveSheetIndex( $i - 1 ); //把新創(chuàng)建的sheet設(shè)定為當(dāng)前活動sheet		$objSheet = $objPHPExcel->getActiveSheet(); //獲取當(dāng)前活動sheet		$objSheet->setTitle($i."年級");		$data = $db->getDataByGrade($i); //查詢每個(gè)年級的學(xué)生數(shù)據(jù)		$objSheet->setCellValue("A1","姓名")->setCellValue("B1","分?jǐn)?shù)")->setCellValue("C1","班級");//填充數(shù)據(jù)		$j = 2;		foreach($data as $key =>$value ){			$objSheet->setCellValue("A".$j,$value['username'])->setCellValue("B".$j,$value['score'])->setCellValue("C".$j,$value['class']."班");			$j++;		}	}		$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); //生成excel文件		//$objWriter->save($dir."/export_1.xls");//保存文件		browser_export('Excel5','browser_export03.xls'); //輸出到瀏覽器		$objWriter->save("php://output");		function browser_export($type,$filename){			if( $type == "Excel5" ){				// Redirect output to a client’s web browser (Excel5) 告訴瀏覽器將要輸出excel03文件                header('Content-Type: application/vnd.ms-excel');			}elseif( $type == "Excel2007E" ){				// Redirect output to a client’s web browser (Excel2007) 告訴瀏覽器將要輸出excel07文件			    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');			}						 //告訴瀏覽器將輸出文件的名稱             header('Content-Disposition: attachment;filename="'.$filename.'"');             //禁止緩存             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');             */		}?>
    在瀏覽器輸入鏈接,并打開,頁面會彈框提示打開或者下載,打開文件,文件內(nèi)容跟保存到本地的文件內(nèi)容是一致的。



    PHPExcel導(dǎo)入文件


    reader.php

    <?php header("Content-Type:text/html;charset=utf-8");$dir=dirname(__FILE__);//找到當(dāng)前腳本所在路徑require $dir."/PHPExcel/IOFactory.php";//引入讀取excel的類文件$filename=$dir."/export_1.xls";$fileType=PHPExcel_IOFactory::identify($filename);//自動獲取文件的類型提供給phpexcel用$objReader=PHPExcel_IOFactory::createReader($fileType);//獲取文件讀取操作對象$sheetName=array("2年級","3年級");$objReader->setLoadSheetsOnly($sheetName);//只加載指定的sheet$objPHPExcel=$objReader->load($filename);//加載文件/**$sheetCount=$objPHPExcel->getSheetCount();//獲取excel文件里有多少個(gè)sheetfor($i=0;$i<$sheetCount;$i++){	$data=$objPHPExcel->getSheet($i)->toArray();//讀取每個(gè)sheet里的數(shù)據(jù) 全部放入到數(shù)組中	print_r($data);}**/foreach($objPHPExcel->getWorksheetIterator() as $sheet){//循環(huán)取sheet		foreach($sheet->getRowIterator() as $row){//逐行處理				if($row->getRowIndex()<2){					continue;				}				foreach($row->getCellIterator() as $cell){//逐列讀取						$data=$cell->getValue();//獲取單元格數(shù)據(jù)						echo $data." ";				}				echo '<br/>';		}		echo '<br/>';}exit;?>

    打開瀏覽器輸入鏈接,輸出內(nèi)容如下:

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 99综合视频 | 色妹子久久 | 韩国十九禁高潮床戏在线观看 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 欧美日韩中文字幕在线视频 | 亚洲日本欧美 | 国产精品99精品 | 一区二区三区视频在线观看 | 精品一区二区电影 | 成人短视频在线观看免费 | 日韩在线激情 | 国产女同玩人妖 | 国产一区二区午夜 | 国产一级毛片高清视频完整版 | 国产午夜精品久久久久久免费视 | 欧美精品一区二区三区在线播放 | 日本一级黄色大片 | 视频一区免费观看 | 日本在线播放一区二区三区 | 午夜色视频在线观看 | 草b视频在线观看 | 久久九九热re6这里有精品 | 蜜桃一本色道久久综合亚洲精品冫 | 亚洲性生活视频 | 久久国产夫妻视频 | 久久久久久久久久久亚洲 | 永久免费黄色大片 | 亚洲欧美一区二区三区在线观看 | 黑人日比 | 久久国产一级片 | 国产精品aⅴ| 亚欧美一区二区 | 午夜视频免费播放 | 综合激情网 | 久久久久久久网站 | 91午夜少妇三级全黄 | 亚洲人成中文字幕在线观看 | 欧美黄色性视频 | 草碰人人 | 人人舔人人射 | 国产一区网址 |