[英]Formula “=''Sheet 1''!A1” does not work with writer Excel2007 in PHPExcel
我对PHPExcel的作家excel2007有问题。 公式从另一个工作表名称获取值不起作用。 以下是我的代码。
$xfile = new PHPExcel();
$xfile->setActiveSheetIndex(0);
$sheet1 = $xfile->getActiveSheet();
$sheet1->setTitle('Sheet 1');
$sheet1->setCellValue('A1', 100);
$xfile->createSheet();
$sheet2 = $xfile->setActiveSheetIndex(1);
$sheet2->setCellValue('A1', "='Sheet 1'!A1");
$sheet2->setTitle('Sheet 2');
$objWriter = PHPExcel_IOFactory::createWriter($xfile, 'Excel2007');
$objWriter->save('test.xlsx');
$objWriter = PHPExcel_IOFactory::createWriter($xfile, 'Excel5');
$objWriter->save('test.xls');
在上面的脚本中,我生成了2个文件:test.xlsx和test.xls
在文件test.xls中,工作表2的A1的值为100
但是在文件test.xlsx中,工作表2的A1的值为0
=>正确值为100
有什么方法可以在Excel2007中使用此公式?
注意:我通过Libre Office Calc打开2个文件。 我不确定如果通过MS Excel打开怎么办。
您的问题是, 在将输出发送到浏览器之后 ,您正在发送http响应标头。 这将导致各种问题,例如“标题已设置”。
无论您使用哪种Writer,都应同样适用。... 在将电子表格保存到php://output
之前发送标头
如果您先发送标头,则此代码将完全按预期工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.