2017-11-27 19 views
1

私はxlsに2枚のシートがあり、統計シートを作成しようとしています。ただし、一部の数式では、まだ実装されていない関数がである必要があります。Excelでファイルを開いたときに計算されている限りは気にしません。私が保存しようとすると、私は例外を取得PHPExcel結果を計算せずに式を書く方法

$sheet->setCellValue('B2', '=COUNTIF(Adjoints!A:A, "<>")'); 
$sheet->setCellValue('C2', '=COUNTIFS(Adjoints!B:B,"=No",Adjoints!C:C,"=No")'); 

無効なセル範囲A:Aはまだ実装されていませんので

座標。したがって、私は保存時に事前計算を無効にしました。

$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5'); 
$writer->setPreCalculateFormulas(false); 
$writer->save('export.xls'); 

も例外

がスローされますが、私の細胞( B2C2)の両方が空です。 それぞれのセルに式を貼り付けると、Excelは正しい値を見つけることができます。

答えて

1

PHPExcelは数式を計算していない可能性があります。それでもBIFF形式のxlsファイル(xlsxはExcel2007を使用して、構文解析を必要としない別の方法で式を格納する)に格納するために解析する必要があります。

だから、Excel2007 Writerを使用してxlsxとしてファイルを保存し、それが動作するかどうかを確認することをお勧めします。