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);