Cell getCoordinate返回创建的最后一个单元格的值,而不是变量中的单元格对象

时间:2014-10-18 17:27:02

标签: php phpexcel

我正在创建一个可以加载样式信息的类,然后传递一组单元格以应用样式。我遇到的一个问题是,当你通过$phpExcel->getCell('A1');得到一个单元格对象然后得到另一个时,原始值会丢失信息(排序)。

PHPExcel getCoordinategetRowgetColumn函数从当前活动的单元格中获取信息,单元格引用,行或列索引似乎不存储在实际的细胞对象。这提出了一个问题,可以通过下面的代码看到。我抓住并存储三个单元格A1,B2和C3的单元格对象。我抓住它们打印这些单元格的信息,然后在最后进行最终转储。单元格的坐标,行或列将返回创建的最后一个单元格的坐标,行或列。代码的最后一行设置单元格上的值。导出文档时,在每个单元格上正确设置这些值。

print "Var\tRef\tCol\tRow\n";

$a1 = $sheet->getCell('A1')->setValue('a1');
print "A1\t" . $a1->getCoordinate() . "\t" . $a1->getColumn() . "\t" . $a1->getRow() . "\n";

$b2 = $sheet->getCell('B2')->setValue('b2');
print "B2\t" . $b2->getCoordinate() . "\t" . $b2->getColumn() . "\t" . $b2->getRow() . "\n";

$c3 = $sheet->getCell('C3')->setValue('c3');
print "C3\t" . $c3->getCoordinate() . "\t" . $c3->getColumn() . "\t" . $c3->getRow() . "\n";

print "----------------------------\n";

print "A1\t" . $a1->getCoordinate() . "\t" . $a1->getColumn() . "\t" . $a1->getRow() . "\n";
print "B2\t" . $b2->getCoordinate() . "\t" . $b2->getColumn() . "\t" . $b2->getRow() . "\n";
print "C3\t" . $c3->getCoordinate() . "\t" . $c3->getColumn() . "\t" . $c3->getRow() . "\n";

$a1->setValue('test');
$b2->setValue('test');
$c3->setValue('test');

上述代码的打印输出为:

Var Ref Col Row
A1  A1  A   1
B2  B2  B   2
C3  C3  C   3
----------------------------
A1  C3  C   3
B2  C3  C   3
C3  C3  C   3

上述代码的CSV输出为:

"test","",""
"","test",""
"","","test"

如果首次从getCell函数返回单元格而不将单元格存储在关联数组中,如何获取特定单元格对象的单元格引用?

0 个答案:

没有答案