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();