如何通过单元格坐标获取单元格值?

时间:2016-05-10 14:19:17

标签: php phpexcel

以下工作正常设置值:

$this->objPHPExcel->getActiveSheet()->getCell('A1')->setValue('hello world');

但为什么以下返回null?

$this->objPHPExcel->getActiveSheet()->getCell('A1')->getValue();

我知道这很好用:

return $this->objPHPExcel->getActiveSheet()->getCellByColumnAndRow(0, 1)->getValue();

但是我想要一种通过单元格坐标获取值的方法,作为" A1"的getValue。而不是使用(0,1)

1 个答案:

答案 0 :(得分:1)

来自docs

通过坐标

检索单元格值

要检索单元格的值,应首先使用getCell()方法从工作表中检索单元格。可以使用getValue()方法读取单元格的值。

public class ARInvoiceEntryExt : PXGraphExtension<ARInvoiceEntry>
{
    public PXAction<ARInvoice> release;
    [PXUIField(DisplayName = "Release", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Update)]
    [PXProcessButton]
    public IEnumerable Release(PXAdapter adapter)
    {
        PXGraph.InstanceCreated.AddHandler<ARInvoiceEntry>((graph) =>
        {
            graph.RowPersisted.AddHandler<ARInvoice>((cache, args) =>
            {
                if (args.TranStatus == PXTranStatus.Completed)
                {
                    CreateAPBill(cache);
                }
            });
        });

        return Base.release.Press(adapter);
    }

这将检索单元格中包含的原始未格式化值。

如果单元格包含公式,并且您需要检索计算的值而不是公式本身,则使用单元格的getCalculatedValue()方法。这将进一步解释。

// Get the value fom cell A1
$cellValue = $objPHPExcel->getActiveSheet()->getCell('A1')->getValue();

或者,如果要查看应用了任何单元格格式的值(例如,对于人类可读的日期或时间值),则可以使用单元格的getFormattedValue()方法。

// Get the value fom cell A4
$cellValue = $objPHPExcel->getActiveSheet()->getCell('A4')->getCalculatedValue();