PHPExcel如何仅获取1个单元格值?

PHPExcel如何仅获取1个单元格值?,php,phpexcel,Php,Phpexcel,我认为可以使用getCell($X,$y)或getCellValue($X,$y)轻松地选择某个值。这是非常有用的,例如在更大的进程之前交叉检查数据 如何从单元格C3中获取特定值 我不想对一系列值进行排序。这是一个基于源代码的答案,请随意改进或评论 function toNumber($dest) { if ($dest) return ord(strtolower($dest)) - 96; else return 0; } function

我认为可以使用
getCell($X,$y)
getCellValue($X,$y)
轻松地选择某个值。这是非常有用的,例如在更大的进程之前交叉检查数据

如何从单元格C3中获取特定值


我不想对一系列值进行排序。

这是一个基于源代码的答案,请随意改进或评论

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,可以改进,但可以满足我的需要。

到目前为止,这是最简单的,并且它使用正常的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();

开发商文件第4.5.2节

按坐标检索单元格

要检索单元格的值,应首先使用getCell方法从工作表中检索单元格。可以使用以下代码行再次读取单元格的值:


开发商文件第4.5.4节

按列和行检索单元格

要检索单元格的值,应首先使用GetCellByColumnRow方法从工作表中检索单元格。可以使用以下代码行再次读取单元格的值:

如果需要单元格的计算值,请使用以下代码。第4.4.35节对此作了进一步解释


这种方法是可用的,并且在整个文档中广泛使用。如果您使用PHPExcel自己的内置
phpexcell\u Cell::columnidexfromstring()
方法,而不是自己的
toNumber(),则该示例可以适用于整个MS Excel列范围(而不仅仅是a-Z)
我想用
getValue()方法返回一个数据数组。
。。。所以我想使用
getFormattedValue()
方法,因为它只返回我想要的。我将再次测试并选择一个答案,改进我的答案或确定是否需要更好地陈述我的问题。顺便说一句,谢谢你格式良好的回答。
$objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
// Get cell B8
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getValue();
// Get cell B8
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getCalculatedValue();