phpexel中遇到的非数字值 [英] A non-numeric value encountered in phpexel

查看:298
本文介绍了phpexel中遇到的非数字值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在获取当我使用自动过滤器时,xls文件中遇到一个非数字值,我正在使用PHPExel软件包. 我的操作系统是ubantu 16.04. 使用Libreoffice查看文件.

Im getting A non-numeric value encountered in xls file when I use Auto filter ,Im using PHPExel package. My opertaing system is ubantu 16.04. Using Libreoffice to view the files.

My code
    <?php
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Date');
    $objPHPExcel->getActiveSheet()->setCellValue('B1', 'Invoice');
    $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Client');
    $row = 2;
    foreach ($values['results'] as $value)
    {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$row,$columnFilter, date("d-m-Y", strtotime($value->payment_date)));
        $objPHPExcel->getActiveSheet()->setCellValue('B'.$row, $value->invoice_number);
        $objPHPExcel->getActiveSheet()->setCellValue('C'.$row, $value->client_name);

        //Problem in below line when I use auto filter Im getting an non numeric value encountered
        $objPHPExcel->getActiveSheet()->setAutoFilter('A1:C1');
        $row++;
    }
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="Cutomer_Report.xls"');
    header('Cache-Control: max-age=0');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');


   Error
   A PHP Error was encountered
   Severity: Warning
   Message: A non-numeric value encountered
   Filename: PHPExcel/Cell.php
   Line Number: 803

推荐答案

这是已知的错误 https ://github.com/PHPOffice/PHPExcel/issues/1212 要避免这种情况,您可以

This is known bug https://github.com/PHPOffice/PHPExcel/issues/1212 To avoid it you can

  1. 降级php
  2. 升级到phpspreadsheet
  3. 使用Excel2007 writer代替Excel5
  4. 尝试通过error_reporting(E_ALL ^ E_WARNING)抑制警告;

这篇关于phpexel中遇到的非数字值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆