我认为getCell($X, $y)
或getCellValue($X, $y)
可供一个人轻松选择某个值。这可以是有用的,例如在更大的流程之前交叉检查数据。
如何从说明单元格 C3 获得特定值。
我不希望对数组进行排序。
答案 0 :(得分:49)
开发者文档的第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();
答案 1 :(得分:7)
到目前为止最简单 - 它使用正常的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();
答案 2 :(得分:1)
这是一个基于来源的答案,随时可以改进或评论。
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之后不起作用,可以改进,但可以满足我的需要。