以下工作正常设置值:
$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)
答案 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();