【问题标题】:test if before set cellule in phpexcelBundle测试是否在 phpexcel Bundle 中设置单元格之前
【发布时间】:2017-04-21 12:41:11
【问题描述】:

我使用 phpexcelBundle 将数据库导出到文件 excel,但是当我在 databsae 中使用属性为 null 时出现问题,我有导出文件 excel 的问题,我有问题属性为 null 但是当我在设置单元格之前使用 if 时我有问题出口也 这是问题:

[:error] [pid 2684] [client ::1:33360] PHP 解析错误:语法错误,意外的 '$phpExcelObject' (T_VARIABLE),期望 /var/www/html/Projetsf/ 中的函数 (T_FUNCTION) src/FrontBundle/Controller/StepsController.php 第10000行,referer:

这是代码控制器:

public function exportXLSAction($id){

         $phpExcelObject = new PHPExcel();
          $phpExcelObject->getProperties()->setCreator("liuggio")
           ->setLastModifiedBy("Giulio De Donato")
           ->setTitle("Office 2005 XLSX Test Document")
           ->setSubject("Office 2005 XLSX Test Document")
           ->setDescription("Test document for Office 2005 XLSX, generated using PHP classes.")
           ->setKeywords("office 2005 openxml php")
           ->setCategory("Test result file");
    $em = $this->container->get('doctrine')->getManager($this->container->get('account_manager')->getCurrentAccount()->getEmname());
    $Employee= $em->getRepository('FrontBundle:Employee')->findOneBy(array('id' =>$id));


     if ($Employee->getNom() != null) { $x = $Employee->getNom(); } else  { $x = ' '; }
       $phpExcelObject->setActiveSheetIndex(0)
                ->setCellValue('A1', 'Civilité')
                ->setCellValue('A2', $Employee->getCivilite())
                ->setCellValue('B1','Nom')
                ->setCellValue('B2', $x)
                ->setCellValue('C1', 'Prénom')
                ->setCellValue('C2', $Employee->getPrenom())
                ->setCellValue('D1', 'Email Personnel')
                ->setCellValue('D2', $Employee->getEmail())
               ->setCellValue('E1', 'Adresse Personnel')
                ->setCellValue('E2', $Employee->getAdresse()) ;


              foreach(range('A','Z') as $columnID){
     }
     }
     $phpExcelObject->setActiveSheetIndex(0)->getColumnDimension($columnID)->setAutoSize(true);
}
 foreach(range('A','Z') as $columnID){
     $phpExcelObject->setActiveSheetIndex(0)->getColumnDimension('A'.$columnID)->setAutoSize(true);
}


$objWriter = new PHPExcel_Writer_Excel2007($phpExcelObject);
$nomfichier = $Employee->getPrenom().'.xlsx';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$nomfichier.'"');
header('Cache-Control: max-age=0');

$objWriter->save('php://output'); 


     // var_dump($response);
       return new response('yes');
             }

测试中的问题 if $employee->getnom()!= null ... 但我已经做了这个测试

帮我解决这个问题,谢谢先进

【问题讨论】:

    标签: php symfony symfony-forms


    【解决方案1】:

    这句话中可能有错字?

                  foreach(range('A','Z') as $columnID){
         }  // WHY?
         } // WHY?
         $phpExcelObject->setActiveSheetIndex(0)->getColumnDimension($columnID)->setAutoSize(true);
    }
    

    尝试删除它们,例如:

        foreach(range('A','Z') as $columnID){
        $phpExcelObject->setActiveSheetIndex(0)->getColumnDimension($columnID)->setAutoSize(true);
        }
    
        foreach(range('A','Z') as $columnID){
    $phpExcelObject->setActiveSheetIndex(0)->getColumnDimension('A'.$columnID)->setAutoSize(true);
        }
    

    编辑:

    试试这个代码:

        public function exportXLSAction($id){
    
            $phpExcelObject = new \PHPExcel();
            $phpExcelObject->getProperties()->setCreator("liuggio")
                ->setLastModifiedBy("Giulio De Donato")
                ->setTitle("Office 2005 XLSX Test Document")
                ->setSubject("Office 2005 XLSX Test Document")
                ->setDescription("Test document for Office 2005 XLSX, generated using PHP classes.")
                ->setKeywords("office 2005 openxml php")
                ->setCategory("Test result file");
            $em = $this->container->get('doctrine')->getManager($this->container->get('account_manager')->getCurrentAccount()->getEmname());
            $Employee= $em->getRepository('FrontBundle:Employee')->findOneBy(array('id' =>$id));
    
    
            if ($Employee->getNom() != null) { $x = $Employee->getNom(); } else  { $x = ' '; }
            $phpExcelObject->setActiveSheetIndex(0)
                ->setCellValue('A1', 'Civilité')
                ->setCellValue('A2', $Employee->getCivilite())
                ->setCellValue('B1','Nom')
                ->setCellValue('B2', $x)
                ->setCellValue('C1', 'Prénom')
                ->setCellValue('C2', $Employee->getPrenom())
                ->setCellValue('D1', 'Email Personnel')
                ->setCellValue('D2', $Employee->getEmail())
                ->setCellValue('E1', 'Adresse Personnel')
                ->setCellValue('E2', $Employee->getAdresse()) ;
    
    
    foreach(range('A','Z') as $columnID){
        $phpExcelObject->setActiveSheetIndex(0)->getColumnDimension('A'.$columnID)->setAutoSize(true);
    }
    
    
    $objWriter = new \PHPExcel_Writer_Excel2007($phpExcelObject);
    $nomfichier = $Employee->getPrenom().'.xlsx';
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$nomfichier.'"');
    header('Cache-Control: max-age=0');
    
    $objWriter->save('php://output');
    
    
    // var_dump($response);
    return new response('yes');
    }
    

    希望有帮助

    【讨论】:

    • 还有问题:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    相关资源
    最近更新 更多