阻止PHPExcel在写入文件时计算值
发布时间:2020-12-13 14:15:15 所属栏目:PHP教程 来源:网络整理
导读:使用 PHPExcel类在Excel文件中编写数据时. 当作者工作时会发生这种情况,而不是在向单元格添加数据时发生这种情况$this- sheet- setCellValue() Fatal error: Uncaught exception 'PHPExcel_Calculation_Exception' with message 'Adressen!AF20955 - Formula
使用
PHPExcel类在Excel文件中编写数据时.
当作者工作时会发生这种情况,而不是在向单元格添加数据时发生这种情况$this-> sheet-> setCellValue() Fatal error: Uncaught exception 'PHPExcel_Calculation_Exception' with message 'Adressen!AF20955 -> Formula Error: Unexpected operator '>'' in Cell.php:300 Stack trace: #0 PHPExcelWorksheet.php(754): PHPExcel_Cell->getCalculatedValue() #1 PHPExcelWriterExcel2007Worksheet.php(373): PHPExcel_Worksheet->calculateColumnWidths() #2 PHPExcelWriterExcel2007Worksheet.php(80): PHPExcel_Writer_Excel2007_Worksheet->_writeCols(Object(PHPExcel_Shared_XMLWriter),Object(PHPExcel_Worksheet)) #3 PHPExcelWriterExcel2007.php(304): PHPExcel_Writer_Excel2007_Worksheet->writeWorksheet(Object(PHPExcel_Worksheet),Array,false) #4 excel.php(131): PHPExcel_Writer_Excel2007->save('...') #5 excel. in PHPExcelCell.php on line 300 我从不使用函数PHPExcel_Cell-> getCalculatedValue()写入我的Excel但只使用$this-> sheet-> setCellValue(‘A1’,$value). 我不需要在Excel文件中计算任何公式.只需将DB2数据导出到此文件即可. 很明显,$value包含公式字符,如= – > < (因为单元格AF20955确实导致了>的致命错误)但是这不应该被解释为公式,而只是作为字符串的一部分.我该如何解决这个问题?
保存时默认调用PHPExcel计算引擎,但您可以通过调用告诉编写者不要应用它
$objWriter->setPreCalculateFormulas(false); 在保存之前 通过调用setCellValue()或类似设置单元格值时,PHPExcel将尝试使用值绑定器识别数据类型并在内部(与MS Excel完全相同)进行相应设置.包含=作为第一个字符的单元格将被视为公式. 如果要确保将它们视为字符串而不是公式,那么最简单的方法是使用setCellValueExplicit(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |