特定の値を簡単に選択するために、getCell($X, $y)
またはgetCellValue($X, $y)
が利用できると思います。これは、大規模なプロセスの前にデータをクロスチェックする例として有用です。
Say cell Cから特定の値を取得するにはどうすればよいですか。
値の配列をソートしたくありません。
開発者向けドキュメントのセクション4.5.2
座標によるセルの取得
セルの値を取得するには、最初にgetCellメソッドを使用してワークシートからセルを取得する必要があります。セルの値は、次のコード行を使用して再度読み取ることができます。
$objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
開発者向けドキュメントのセクション4.5.4
列と行でセルを取得する
セルの値を取得するには、最初にgetCellByColumnAndRowメソッドを使用してワークシートからセルを取得する必要があります。セルの値は、次のコード行を使用して再度読み取ることができます。
// Get cell B8
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getValue();
セルの計算値が必要な場合は、次のコードを使用します。これは4.4.35でさらに説明されています
// Get cell B8
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getCalculatedValue();
最も単純な-そして、通常のExcel座標を使用します。
// Assuming $sheet is a PHPExcel_Worksheet
$value = $sheet->getCell( 'A1' )->getValue();
必要に応じて、関数内で座標を分離できます。
function getCell( PHPExcel_Worksheet $sheet, /* string */ $x = 'A', /* int */ $y = 1 ) {
return $sheet->getCell( $x . $y );
}
// eg:
getCell( $sheet, 'B', 2 )->getValue();
これはソースベースの回答であり、自由に改善またはコメントしてください。
function toNumber($dest)
{
if ($dest)
return ord(strtolower($dest)) - 96;
else
return 0;
}
function myFunction($s,$x,$y){
$x = toNumber($x);
return $s->getCellByColumnAndRow($x, $y)->getFormattedValue();
}
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
$objPHPExcel->setActiveSheetIndex(0);
$sheetData = $objPHPExcel->getActiveSheet();
$cellData = myFunction($sheetData,'B','2');
var_dump($cellData);
これは文字Zを超えては機能せず、改善される可能性がありますが、私のニーズには合っています。