測試環境:php5.6.24.這塊沒啥兼容問題。
需要更多栗子,請看PHPExcel的examples。還是蠻強大的。
讀取excel文件。
第一步、下載開源的PHPExcel的類庫文件,官方網站是http://www.codeplex.com/PHPExcel。裡面也有很多示例包。
第二步、讀取的基本代碼示例:
<?php require_once 'Classes/PHPExcel.php'; require_once 'Classes/PHPExcel/IOFactory.php'; require_once 'Classes/PHPExcel/Reader/Excel5.php'; $file_url = './excel/phpLv.xls'; $objReader = PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load($file_url); //設置當前活動的工作表 $objPHPExcel->setActiveSheetIndex(1); //拿到當前活動的表。以後操作就用這個了。勞資才不喜歡鏈式操作,太難看了好不啦 $activeSheet = $objPHPExcel->getActiveSheet(); //當前表最大行數 $highestRow = $activeSheet->getHighestRow(); //當前表最大列數 $highestColumn = $activeSheet->getHighestColumn(); echo "最大列:$highestColumn"; echo "最大行:$highestRow"; echo '<hr/>'; $cell = function ($cell) use ($activeSheet) { return $activeSheet->getCell("$cell")->getValue(); }; $str1 = $cell('A13'); echo $str1; exit;
導出excel表格文件。
第一步、同上也是先下載PHPExcel類庫文件。
第二步、導出excel文件的示例代碼:
1 //--------------------------------導出excel文件-------------------------------- 2 require_once './Classes/PHPExcel.php'; 3 $objPHPExcel=new PHPExcel(); 4 //一些關於excel文件的描述。在Classes/PHPExcel/DocumentProperties.php中有更多選項 5 $prop = $objPHPExcel->getProperties(); 6 $prop->setCreator('sweat_xiaoMa'); 7 $prop->setLastModifiedBy('xiaoma'); 8 $prop->setTitle('Office 2007 XLSX Document'); 9 $prop->setSubject('Office 2007 XLSX Document'); 10 $prop->setDescription('Document for Office 2007 XLSX, generated using PHP classes.'); 11 $prop->setKeywords('office 2007 openxml php'); 12 $prop->setCategory('Result file'); 13 14 //設置使用的當前的工作表的索引 15 $objPHPExcel->setActiveSheetIndex(0); 16 //然後就可以設置單元格上的內容了。 17 $activeSheet = $objPHPExcel->getActiveSheet(); 18 $activeSheet->setCellValue('A1','學號'); 19 $activeSheet->setCellValue('B1','年級'); 20 $activeSheet->setCellValue('C1','班級'); 21 $activeSheet->setCellValue('D1','姓名'); 22 $activeSheet->setCellValue('E1','性別'); 23 24 //給當前使用的工作表設置標題。 25 $activeSheet->setTitle('工作表1啦啦啦'); 26 //文件名字。下面的header中用到。 27 $filename = '學生信息統計表_'.date('Y-m-dHis'); 28 29 /* 30 *生成xlsx文件 31 */ 32 // header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 33 // header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"'); 34 // header('Cache-Control: max-age=0'); 35 // $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); 36 37 /* 38 *生成xls文件 39 */ 40 header('Content-Type: application/vnd.ms-excel'); 41 header('Content-Disposition: attachment;filename="'.$filename.'.xls"'); 42 header('Cache-Control: max-age=0'); 43 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 44 $objWriter->save('php://output'); 45 exit;