2.设置Excel的读取选项 在使用load()方法加载文件之前,可以设置读取选项来控制load的行为. 2.1.ReadingOnly Data from a Spreadsheet File setReadDataOnly()方法,配置阅读器不关注表格数据的数据类型,都以string格式返回 复制代码 代码如下: $inputFileType = 'Excel5'; $inputFileName = './sampleData/example1.xls'; /** Create a new Reader of the type defined in $inputFileType **/ $objReader = PHPExcel_IOFactory::createReader($inputFileType); /** 配置单元格数据都以字符串返回 **/ $objReader- setReadDataOnly(true); /** Load $inputFileName to a PHPExcel Object **/ $objPHPExcel = $objReader- load($inputFileName); $sheetData =$objPHPExcel- getActiveSheet()- toArray(null,true,true,true); var_dump($sheetData);
Reading Only Data from a SpreadsheetFile applies to Readers: Excel2007 YES Excel5 YES Excel2003XML YES OOCalc YES SYLK NO Gnumeric YES CSV NO2.2.ReadingOnly Named WorkSheets from a File setLoadSheetsOnly(),设置要读取的worksheet,接受worksheet的名称作为参数。 复制代码 代码如下: /** PHPExcel_IOFactory */ include'PHPExcel/IOFactory.php'; $inputFileType = 'Excel5'; // $inputFileType = 'Excel2007'; // $inputFileType = 'Excel2003XML'; // $inputFileType = 'OOCalc'; // $inputFileType = 'Gnumeric'; $inputFileName ='./sampleData/example1.xls'; $sheetname = 'Data Sheet #2';
echo 'Loading file',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a definedreader type of ',$inputFileType,' br / $objReader = PHPExcel_IOFactory::createReader($inputFileType); echo 'Loading Sheet"',$sheetname,'" only br / $objReader- setLoadSheetsOnly($sheetname); $objPHPExcel =$objReader- load($inputFileName); echo ' hr / echo$objPHPExcel- getSheetCount(),' worksheet',(($objPHPExcel- getSheetCount()== 1) ? '' : 's'),' loaded br / br / $loadedSheetNames =$objPHPExcel- getSheetNames(); foreach($loadedSheetNames as$sheetIndex = $loadedSheetName) { echo $sheetIndex,' - ',$loadedSheetName,' br / }
如果想读取多个worksheet,可以传递一个数组 复制代码 代码如下: $inputFileType = 'Excel5'; $inputFileName = './sampleData/example1.xls'; $sheetnames = array('Data Sheet #1','Data Sheet #3'); /** Create a new Reader of the type defined in $inputFileType **/ $objReader = PHPExcel_IOFactory::createReader($inputFileType); /** Advise the Reader of which WorkSheets we want to load **/ $objReader- setLoadSheetsOnly($sheetnames); /** Load $inputFileName to a PHPExcel Object **/ $objPHPExcel = $objReader- load($inputFileName);