使用 PHPExcel 读取名为 table

Read named table with PHPExcel

在 Excel 中,我有一个名为 "Table1" 的 tabled,列数和行数未知。

如何使用 PHPExcel 获取此 table 的单元格?

我尝试了以下方法,但它不起作用。

 $objPHPExcel->getActiveSheet()->getNamedRange('Table1');

编辑: 我看到它给了我以下错误,所以该方法不存在:

Fatal error: Call to undefined method PHPExcel_Worksheet::getNamedRange() in /Applications/MAMP/htdocs/gift/view.php on line 20

我正在尝试以下内容,但问题是它无法识别命名的 table。就像它不存在一样。如果我尝试使用命名单元格,它会起作用。

$objPHPExcel->getActiveSheet()->namedRangeToArray('Table1');

和错误:

Fatal error: Uncaught exception 'PHPExcel_Exception' with message 'Named Range Table1 does not exist.' in /Applications/MAMP/htdocs/gift/Classes/PHPExcel/Worksheet.php:2511 Stack trace: #0 /Applications/MAMP/htdocs/gift/view.php(20): PHPExcel_Worksheet->namedRangeToArray('Gifts') #1 {main} thrown in /Applications/MAMP/htdocs/gift/Classes/PHPExcel/Worksheet.php on line 2511

命名范围在工作簿级别维护,而不是在工作表级别;获取命名范围详细信息的可用方法是:

$objPHPExcel->getNamedRanges();

检索命名范围对象数组,详细说明工作簿中的所有命名范围

$objPHPExcel->getNamedRanges('Table1');

通过名称检索指定的命名范围对象

命名范围对象的方法包括:

  • getWorksheet()
  • getRange()
  • getLocalOnly()
  • getScope()

它提供有关特定命名范围适用的工作表和单元格的信息