測試環境: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;