PHPExcel How to get only 1 cell value?

前端 未结 3 1541
误落风尘
误落风尘 2020-12-09 16:55

I would think that a getCell($X, $y) or getCellValue($X, $y) would be available for one to easily pick a a certain value. This can be usefully, as

相关标签:
3条回答
  • 2020-12-09 17:48

    This is a source based answer feel free to improve or comment.

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

    This does not work past the letter Z, and could be improved but works for my needs.

    0 讨论(0)
  • 2020-12-09 17:56

    By far the simplest - and it uses normal Excel co-ordinates:

    // Assuming $sheet is a PHPExcel_Worksheet
    
    $value = $sheet->getCell( 'A1' )->getValue();
    

    You can separate the co-ordinates out in a function if you like:

    function getCell( PHPExcel_Worksheet $sheet, /* string */ $x = 'A', /* int */ $y = 1 ) {
    
        return $sheet->getCell( $x . $y );
    
    }
    
    // eg:
    getCell( $sheet, 'B', 2 )->getValue();
    
    0 讨论(0)
  • 2020-12-09 17:58

    Section 4.5.2 of the developer documentation

    Retrieving a cell by coordinate

    To retrieve the value of a cell, the cell should first be retrieved from the worksheet using the getCell method. A cell’s value can be read again using the following line of code:

    $objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
    

    Section 4.5.4 of the developer documentation

    Retrieving a cell by column and row

    To retrieve the value of a cell, the cell should first be retrieved from the worksheet using the getCellByColumnAndRow method. A cell’s value can be read again using the following line of code:

    // Get cell B8
    $objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getValue();
    

    If you need the calculated value of a cell, use the following code. This is further explained in 4.4.35

    // Get cell B8
    $objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getCalculatedValue();
    
    0 讨论(0)
提交回复
热议问题