Php 如何按列名和行号获取单元格值

Php 如何按列名和行号获取单元格值,php,phpexcel,Php,Phpexcel,设想一个Excel文件有两列,如下所示: Name Surname John Some surname Matt Another surname Steve Again something 有没有办法通过列名和行号获取单元格的值?大概是这样的: $worksheet->getCellByColumnNameAndRowValue('Name', 1)->getValue(); // gives John 现在我正在使用一个数组,它将列名映射到列号和getCe

设想一个Excel文件有两列,如下所示:

Name    Surname
John    Some surname
Matt    Another surname
Steve   Again something
有没有办法通过列名和行号获取单元格的值?大概是这样的:

$worksheet->getCellByColumnNameAndRowValue('Name', 1)->getValue(); // gives John

现在我正在使用一个数组,它将列名映射到列号和
getCellByColumnRow
函数,但我想知道是否有更简单的解决方案。

没有,因为'Name'只是一个字符串单元格值(单元格'A1'中的值)到PHPExcel,它不是一个列名(即列'a')


您可以指定一个名为“Name”(或“姓氏”或其他名称)的命名范围。。。然后,您可以使用namedrangtoarray()方法将命名区域中所有单元格的值作为数组返回。

不,没有,因为对于PHPExcel来说,“Name”只是字符串单元格值(单元格“A1”中的值),而不是列名(即列“a”)


您可以指定一个名为“Name”(或“姓氏”或其他名称)的命名范围。。。然后,您可以使用namedrangtoarray()方法将命名区域中所有单元格的值作为数组返回。

So
namedrangtoarray('Name')
在我的例子中,它将返回一个数组(0=>John,1=>Matt,2=>Steve)?好的,所以我仍然需要将列名映射到范围(在我的例子中,列经常改变它们的位置)-那么我将坚持我的原始解决方案。除非定义为命名范围,否则PHPExcel只是Excel文件的文件读取器/写入器。。。。通过列名(列名为单元格标签的行)访问数据需要对工作表中的数据进行“解释”,而不仅仅是读/写。。。。所以“映射”取决于您的脚本。在我的例子中,SSO
namedRangeToArray('Name')
将返回一个数组(0=>John,1=>Matt,2=>Steve)?好的,所以我仍然需要将列名映射到范围(在我的例子中,列经常改变它们的位置)-然后我将坚持我的原始解决方案。除非定义为命名范围,PHPExcel只是Excel文件的文件读取器/写入器。。。。通过列名(列名为单元格标签的行)访问数据需要对工作表中的数据进行“解释”,而不仅仅是读/写。。。。所以“映射”取决于您的脚本