私はxlsドキュメントから1枚だけを読み取ろうとしていますが、私はこれを持っています:
$objPHPExcel = $objReader->load('daily/' . $fisierInbound);
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow(); // e.g. 10
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$dataCalls = $worksheet->getCellByColumnAndRow(2, 2)->getValue();
$dataSubstr = substr($dataCalls, 53);
}
問題は、ファイルのすべてのシートを読み取ることです。
何か案は?
PHPExcel User Documentation - Reading Spreadsheet Files
のドキュメント/Documentation
フォルダー(セクション5.2。「ファイルからの名前付きワークシートのみの読み取り」):
読みたいシートの名前がわかっている場合。
$inputFileType = 'Excel5';
$inputFileName = './sampleData/example1.xls';
$sheetname = 'Data Sheet #2';
/** 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($sheetname);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load($inputFileName);
ワークシートの名前が事前にわからない場合は、ファイルをロードする前にすべてのワークシートのリストを取得できます
$inputFileType = 'Excel5';
$inputFileName = './sampleData/example1.xls';
/** Create a new Reader of the type defined in $inputFileType **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** Read the list of worksheet names and select the one that we want to load **/
$worksheetList = $objReader->listWorksheetNames($inputFileName)
$sheetname = $worksheetList[0];
/** Advise the Reader of which WorkSheets we want to load **/
$objReader->setLoadSheetsOnly($sheetname);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load($inputFileName);
ワークシート名のリストを取得するよりも簡単にできます。
$objPHPExcel->setActiveSheetIndex(2);
$worksheet = $objPHPExcel->getActiveSheet();
#2(3番目)のワークシートをロードします。
まだこれに苦労している人のための最も簡単な方法-
//include library
include('path/to/PHPExcel/IOFactory.php');
//load the file
$objPHPExcel = PHPExcel_IOFactory::load('your/path/for/Excel/file');
//get the worksheet of your choice by its name
$worksheet = $objPHPExcel->getSheetByName('Name of sheet');
#and your work goes here...
//load library - Excel
$this->load->library('Excel');
$objPHPExcel = PHPExcel_IOFactory::load('./folder/exceldata.xls');
個々のワークシートには、名前またはワークブック内のインデックス位置によってアクセスできます。インデックスの位置は、MS Excel(またはその他の適切なスプレッドシートプログラム)でブックを開いたときに各ワークシートの「タブ」が表示される順序を表します。
名前によるシートにアクセスするには、getSheetByName()メソッドを使用して、アクセスするワークシートの名前を指定します。
//Retrieve the worksheet called 'Worksheet 1'
$objPHPExcel->getSheetByName('Worksheet 1');
インデックスによるシートにアクセスするには、getSheet()メソッドを使用します。シートは0からインデックス付けされることに注意してください。
//Retrieve the **1st 'tab' worksheet** e.g. called 'Sheet 1'
$worksheet = $objPHPExcel->getSheet(0);
//Retrieve the **2nd 'tab' worksheet** e.g. called 'Sheet 2'
$worksheet = $objPHPExcel->getSheet(1);
これはすべて、@ Mark BakerのPHPExcel Libraryを使用して実現できます。ありがとう。