Je penserais qu'une getCell($X, $y)
ou getCellValue($X, $y)
serait disponible pour que l'on puisse facilement choisir une certaine valeur. Cela peut être utile, comme exemple de recoupement de données avant un processus plus important.
Comment obtenez-vous une valeur spécifique de disons cellule C.
Je ne veux pas qu'un tableau de valeurs soit trié.
Section 4.5.2 de la documentation du développeur
Récupération d'une cellule par coordonnées
Pour récupérer la valeur d'une cellule, la cellule doit d'abord être extraite de la feuille de calcul à l'aide de la méthode getCell. La valeur d'une cellule peut être relue à l'aide de la ligne de code suivante:
$objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
Section 4.5.4 de la documentation du développeur
Récupération d'une cellule par colonne et ligne
Pour récupérer la valeur d'une cellule, la cellule doit d'abord être extraite de la feuille de calcul à l'aide de la méthode getCellByColumnAndRow. La valeur d'une cellule peut être relue à l'aide de la ligne de code suivante:
// Get cell B8
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getValue();
Si vous avez besoin de la valeur calculée d'une cellule, utilisez le code suivant. Ceci est expliqué plus en détail en 4.4.35
// Get cell B8
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getCalculatedValue();
De loin le plus simple - et il utilise des coordonnées Excel normales:
// Assuming $sheet is a PHPExcel_Worksheet
$value = $sheet->getCell( 'A1' )->getValue();
Vous pouvez séparer les coordonnées dans une fonction si vous le souhaitez:
function getCell( PHPExcel_Worksheet $sheet, /* string */ $x = 'A', /* int */ $y = 1 ) {
return $sheet->getCell( $x . $y );
}
// eg:
getCell( $sheet, 'B', 2 )->getValue();
Il s'agit d'une réponse basée sur la source, n'hésitez pas à améliorer ou à commenter.
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);
Cela ne fonctionne pas au-delà de la lettre Z et pourrait être amélioré mais fonctionne pour mes besoins.