PHP读取Excel和导出数据至Excel
生活随笔
收集整理的這篇文章主要介紹了
PHP读取Excel和导出数据至Excel
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、PHPExcel庫下載
- 二、Excel讀取
- 1.引入庫
- 2.創建Reader
- 3.Excel讀取和遍歷
- 三、導出數據至Excel
- 1.導出接口
- 2.接口調用
- 總結
前言
excel作為辦公環境中最常用的數據處理工具,使用的人群很廣泛。但當你有一些比較復雜的處理場景時,僅靠一些表面的簡單的操作肯定是滿足不了要求的。這時如果讓我臨時學習vba編程,感覺有點難度,因為我只會C和PHP,于是借這個機會,我查閱了一些資料,發現PHP有開源的工具庫PHPExcel,功能很強大,很實用。
以下介紹了如何使用PHPExcel實現excel讀取和導出數據庫表至excel里面,相信會對大家有所幫助。
一、PHPExcel庫下載
點擊進入如下GitHub地址,點擊Code=>Download ZIP,下載PHPExcel-1.8.zip
PHPExcel庫下載地址
二、Excel讀取
1.引入庫
代碼如下(示例):
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.創建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(); // 取得總行數 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()); }三、導出數據至Excel
1.導出接口
代碼如下(示例):
//導出接口 /*$data:數據庫查詢結果$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.接口調用
$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,'調試信息',$fileheader,'Sheet1');mysqli_free_result($query);}mysqli_close($connection);}總結
以上就是今天要講的內容,本文僅僅介紹了使用php讀取excel,并介紹了如何將數據庫表導出至excel。
總結
以上是生活随笔為你收集整理的PHP读取Excel和导出数据至Excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# PDF操作之-PDF转WORD
- 下一篇: 裁剪DEM高程数据