有人能告诉我为什么会出现这个错误吗?
PHP Fatal error: Uncaught exception 'PHPExcel_Calculation_Exception' with message 'Worksheet!E48 -> Formula Error: An unexpected error occured' in PHPExcel/1.8.0/Classes/PHPExcel/Cell.php:300
Stack trace:
#0 PHPExcel/1.8.0/Classes/PHPExcel/Writer/Excel5/Worksheet.php(460): PHPExcel_Cell->getCalculatedValue()
#1 PHPExcel/1.8.0/Classes/PHPExcel/Writer/Excel5.php(187): PHPExcel_Writer_Excel5_Worksheet->close()
#2 export/the_script.php(98): PHPExcel_Writer_Excel5->save('the_export.xls')
#3 {main}
thrown in PHPExcel/1.8.0/Classes/PHPExcel/Cell.php on line 300生成此错误的代码:
$excel = new PHPExcel();
$excel->setActiveSheetIndex(0);
$R = $db->query("SELECT col1, col2, col3 from table1");
while($row = $R->fetch(Zend_Db::FETCH_NUM)) {
$excel->getActiveSheet()->fromArray($row, false, 'A'.$i);
$i++;
}
$excelWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$excelWriter->save('the_export.xls');如你所见,没有公式,什么都没有...简单地将数据库中的数据转储到excel文件中...运行PHP 5.3.2
发布于 2015-08-05 21:52:56
我猜从您的数据库中检索到的一个值以=符号开头,在这种情况下,PHPExcel将“猜测”它应该是一个公式,并将其存储为公式。
如果您的值以不是公式的=开头,那么您需要告诉PHPExcel它是一个字符串,并且应该这样存储它。
此行为在默认单元绑定器(PHPExcel/Cell/DefaultValueBinder.php)中定义。
如果希望强制PHPExcel将这些值存储为字符串,则可以使用setCellValueExplicit()方法(默认情况下强制执行字符串)
或者,您可以编写自定义值绑定器并应用它,而不是应用缺省值绑定器
https://stackoverflow.com/questions/31827960
复制相似问题