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中,Sheet 2的A1值为100
但是在文件test.xlsx中,Sheet 2的A1值为0
=>正确的值是100
有没有办法在Excel2007中使用此公式?
注意:我通过Libre Office Calc打开2个文件。如果我用MS Excel打开,我不确定它是怎么回事。
答案 0 :(得分:0)
您的问题是,您要将 发送到浏览器后发送
同样适用于您正在使用的任何Writer ....在 之前发送标题 ,将电子表格保存到<?hph
echo '<pre>';
echo htmlspecialchars(var_dump($_POST));
echo '</pre>';
?>
如果您先发送标头,则此代码与预期完全一致