测试环境: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;