我正在创建一个可以加载样式信息的类,然后传递一组单元格以应用样式。我遇到的一个问题是,当你通过$phpExcel->getCell('A1');
得到一个单元格对象然后得到另一个时,原始值会丢失信息(排序)。
PHPExcel getCoordinate
,getRow
和getColumn
函数从当前活动的单元格中获取信息,单元格引用,行或列索引似乎不存储在实际的细胞对象。这提出了一个问题,可以通过下面的代码看到。我抓住并存储三个单元格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
函数返回单元格而不将单元格存储在关联数组中,如何获取特定单元格对象的单元格引用?