Search code examples
phpphpexcelphpspreadsheet

How to get Named Ranges in PHPSpreadsheet


I want get named ranges in my file. just name of my ranges. in my file, i have ranges 'detail', 'header', 'footer'. this is my function

$temp_name = [];
foreach($spreadsheet->getNamedRanges() as $name){
   $temp_name [] = $name;
}
print_r("<br>Temp Name<br>");
print_r($temp_name[]);
print_r("<br><br>");

but i get so many value in $temp_name.


Solution

  • I don't use PhpSpreadsheet, but looking at their documentation, getNamedRanges returns an array of NamedRanges, which in turn have names, it doesn't return just names alone. So you need to get the name from the range, like -

    foreach ($spreadsheet->getNamedRanges() as $range) {
        temp_name[] = $range->getName();
    }
    

    also re: print_r("<br>Temp Name<br>"); for strings, just use print '..';, print_r() is for arrays.