PHP读取Excel和导出数据至Excel
文章目錄
- 前言
- 一、PHPExcel庫(kù)下載
- 二、Excel讀取
- 1.引入庫(kù)
- 2.創(chuàng)建Reader
- 3.Excel讀取和遍歷
- 三、導(dǎo)出數(shù)據(jù)至Excel
- 1.導(dǎo)出接口
- 2.接口調(diào)用
- 總結(jié)
前言
excel作為辦公環(huán)境中最常用的數(shù)據(jù)處理工具,使用的人群很廣泛。但當(dāng)你有一些比較復(fù)雜的處理場(chǎng)景時(shí),僅靠一些表面的簡(jiǎn)單的操作肯定是滿(mǎn)足不了要求的。這時(shí)如果讓我臨時(shí)學(xué)習(xí)vba編程,感覺(jué)有點(diǎn)難度,因?yàn)槲抑粫?huì)C和PHP,于是借這個(gè)機(jī)會(huì),我查閱了一些資料,發(fā)現(xiàn)PHP有開(kāi)源的工具庫(kù)PHPExcel,功能很強(qiáng)大,很實(shí)用。
以下介紹了如何使用PHPExcel實(shí)現(xiàn)excel讀取和導(dǎo)出數(shù)據(jù)庫(kù)表至excel里面,相信會(huì)對(duì)大家有所幫助。
一、PHPExcel庫(kù)下載
點(diǎn)擊進(jìn)入如下GitHub地址,點(diǎn)擊Code=>Download ZIP,下載PHPExcel-1.8.zip
PHPExcel庫(kù)下載地址
二、Excel讀取
1.引入庫(kù)
代碼如下(示例):
require_once 'PHPExcel.php';require_once 'PHPExcel/IOFactory.php';require_once 'PHPExcel/Reader/Excel2007.php';require_once 'PHPExcel/Reader/Excel5.php';require_once 'PHPExcel/Reader/CSV.php';2.創(chuàng)建Reader
代碼如下(示例):
if(strstr($shoolFile, ".xlsx")){$objReader = PHPExcel_IOFactory::createReader('Excel2007');}else if(strstr($shoolFile, ".xls")){$objReader = PHPExcel_IOFactory::createReader('Excel5');}else if(strstr($shoolFile, ".csv")){$csvReader = PHPExcel_IOFactory::createReader('CSV')->setDelimiter(',')->setInputEncoding('GBK');}3.Excel讀取和遍歷
代碼如下(示例):
$objPHPExcel = $objReader->load($shoolFile);$sheet = $objPHPExcel->getSheet(0); $total_line = $sheet->getHighestRow(); // 取得總行數(shù) for($row = 2; $row <= $total_line; $row++) { $name = trim($objPHPExcel->getActiveSheet()->getCell('D'.$row)->getValue());$sex = trim($objPHPExcel->getActiveSheet()->getCell('E'.$row)->getValue());$nature = trim($objPHPExcel->getActiveSheet()->getCell('F'.$row)->getValue()); }三、導(dǎo)出數(shù)據(jù)至Excel
1.導(dǎo)出接口
代碼如下(示例):
//導(dǎo)出接口 /*$data:數(shù)據(jù)庫(kù)查詢(xún)結(jié)果$savefile:保存的文件名$fileheader:表頭$sheetname:表單名 */ function exportExcel($data, $savefile, $fileheader, $sheetname){$excel = new PHPExcel();$objActSheet = $excel->getActiveSheet();$letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA');$excel->setActiveSheetIndex(0);$objActSheet->setTitle($sheetname);for($i = 0;$i < count($fileheader);$i++) {$objActSheet->setCellValue("$letter[$i]1",$fileheader[$i]); }for ($i = 2;$i <= count($data) + 1;$i++) {$j = 0;foreach ($data[$i - 2] as $key=>$value) {$objActSheet->setCellValue("$letter[$j]$i",$value);$j++;}}header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="' . $savefile . '.xlsx"'); header('Cache-Control: max-age=0');$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');$objWriter->save('php://output');}2.接口調(diào)用
$connection= mysqli_connect('a.b.c.d','aaa','bbb','ccc');if($connection){if($query = mysqli_query($connection,"select *from aaa_info ")){$data = mysqli_fetch_all($query,MYSQLI_ASSOC);$fileheader= array('a', 'b', 'c','d', 'e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','aa'); exportExcel($data,'調(diào)試信息',$fileheader,'Sheet1');mysqli_free_result($query);}mysqli_close($connection);}總結(jié)
以上就是今天要講的內(nèi)容,本文僅僅介紹了使用php讀取excel,并介紹了如何將數(shù)據(jù)庫(kù)表導(dǎo)出至excel。
總結(jié)
以上是生活随笔為你收集整理的PHP读取Excel和导出数据至Excel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C# PDF操作之-PDF转WORD
- 下一篇: 动态规划算法php,php算法学习之动态