PHPExcel 如何在不计算结果的情况下写公式
PHPExcel How to write formula without calculating the result
我有一个 xls
和两个 sheet,我正在尝试建立一个统计数据 sheet。不过有些公式需要phpexcel还没有实现的函数,我倒是不介意,只要在Excel.
打开文件的时候算出来就行了
$sheet->setCellValue('B2', '=COUNTIF(Adjoints!A:A, "<>")');
$sheet->setCellValue('C2', '=COUNTIFS(Adjoints!B:B,"=No",Adjoints!C:C,"=No")');
当我尝试保存时,出现异常:
Invalid cell coordinate A
因为范围A:A
还没有实现。因此,我在保存时禁用了预计算。
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$writer->setPreCalculateFormulas(false);
$writer->save('export.xls');
没有抛出异常,但我的两个单元格(B2
和 C2
)都是空的。
当我将公式复制粘贴到相应的单元格中时,Excel 能够找到正确的值。
PHPExcel 可能没有计算公式;但仍然需要对其进行解析以将其存储在 BIFF 格式的 xls 文件中(使用 Excel2007 的 xlsx 以不需要解析的不同方式存储公式)。
所以我建议将文件保存为 xlsx(使用 Excel2007 Writer)并查看是否有效
我有一个 xls
和两个 sheet,我正在尝试建立一个统计数据 sheet。不过有些公式需要phpexcel还没有实现的函数,我倒是不介意,只要在Excel.
$sheet->setCellValue('B2', '=COUNTIF(Adjoints!A:A, "<>")');
$sheet->setCellValue('C2', '=COUNTIFS(Adjoints!B:B,"=No",Adjoints!C:C,"=No")');
当我尝试保存时,出现异常:
Invalid cell coordinate A
因为范围A:A
还没有实现。因此,我在保存时禁用了预计算。
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$writer->setPreCalculateFormulas(false);
$writer->save('export.xls');
没有抛出异常,但我的两个单元格(B2
和 C2
)都是空的。
当我将公式复制粘贴到相应的单元格中时,Excel 能够找到正确的值。
PHPExcel 可能没有计算公式;但仍然需要对其进行解析以将其存储在 BIFF 格式的 xls 文件中(使用 Excel2007 的 xlsx 以不需要解析的不同方式存储公式)。
所以我建议将文件保存为 xlsx(使用 Excel2007 Writer)并查看是否有效