2017-04-21 43 views
1

我使用phpexcelBundle为出口数据库文件为excel但我有问题当我在databsae中使用attribut为null时,我有导出文件excel的问题,我有问题attribut为null但是当我使用如果设置小细胞之前,我有出口的问题也 这个问题:如果在设置cellule在phpexcelBundle之前测试

[:error] [pid 2684] [client ::1:33360] PHP Parse error: syntax error, unexpected '$phpExcelObject' (T_VARIABLE), expecting function (T_FUNCTION) in /var/www/html/Projetsf/src/FrontBundle/Controller/StepsController.php on line 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'); 
      } 

问题,如果$员工 - > getnom()=空..但我已经做了这个测试

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

回答

0

可能在声明此块一个错字?

   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'); 
} 

希望这有助于

+0

也问题:( –

+0

hi @d ev_2017检查我的更新 – Matteo

+0

我检查您的更新,但我也有问题 –

相关问题