2017-09-30 6 views
0

phpexcelドキュメントを作成するときにカスタムフォントサイズを設定しました。CodeigniterとPHPexcelのフォントサイズが最初の行で変更されない

何らかの理由で、フォントサイズが最初の行で変更されません。

質問:どのようにすべての行は、私がメインコントローラ上のforeachループ内のコードを持っていますが、セルの最初の行を欠場ヘッダー行

含む同じサイズを持っていることを確認します。

enter image description here

$styleArray = array(
     'font' => array(
     'size' => 15, 
     'name' => 'Candara' 
     )); 

     $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)->applyFromArray($styleArray); 


$objPHPExcel->getActiveSheet()->getStyle($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())->applyFromArray($styleArray2); 

コントローラ

<?php 

class Events extends MX_Controller { 


    public function generate_excel() { 

     $query = $this->db->get('event'); 
     $excelresults = $query->result_array(); 

     require (APPPATH . 'third_party/PHPExcel-1.8/Classes/PHPExcel.php'); 
     require (APPPATH . 'third_party/PHPExcel-1.8/Classes/PHPExcel/Writer/Excel2007.php'); 

     $objPHPExcel = new PHPExcel(); 

     $objPHPExcel->getProperties()->setCreator(""); 
     $objPHPExcel->getProperties()->setLastModifiedBy(""); 
     $objPHPExcel->getProperties()->setSubject(""); 
     $objPHPExcel->getProperties()->setCreator(""); 
     $objPHPExcel->getProperties()->setDescription(""); 

     $objPHPExcel->setActiveSheetIndex(0); 

     $objPHPExcel->getActiveSheet()->SetCellValue("A1", 'Event'); 
     $objPHPExcel->getActiveSheet()->SetCellValue("B1", 'Event Title'); 
     $objPHPExcel->getActiveSheet()->SetCellValue("C1", 'Event Date'); 
     $objPHPExcel->getActiveSheet()->SetCellValue("D1", 'Event Start Time'); 

     $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); 
     $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); 

     $objPHPExcel->getActiveSheet()->setPrintGridlines(TRUE); 

     $objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1); 

     $excelrow = 2; 

     foreach ($excelresults as $excelresult => $excelvalue) { 

      $styleArray = array(
      'font' => array(
      'size' => 15, 
      'name' => 'Candara' 
      )); 

      $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)->applyFromArray($styleArray); 

      if (!empty($excelvalue['fill_color'])) { 
        // Set the fill style 
      $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); 
        // Set the colour for the fill 
      $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)->getFill()->getStartColor()->setRGB($excelvalue['fill_color']); 

       $styleArray1 = array(
        'font' => array(
         'color' => array('rgb' => $excelvalue['font_color']), 
        ) 
       ); 

      $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)->applyFromArray($styleArray1); 

      $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)->getAlignment()->setIndent(2); 


      } 

      $objPHPExcel->getActiveSheet()->SetCellValue("A" . $excelrow, $excelvalue['event']); 
      $objPHPExcel->getActiveSheet()->SetCellValue("B" . $excelrow, $excelvalue['event_title']); 
      $objPHPExcel->getActiveSheet()->SetCellValue("C" . $excelrow, $excelvalue['event_date']); 
      $objPHPExcel->getActiveSheet()->SetCellValue("D" . $excelrow, $excelvalue['event_start_time']); 

      $excelrow++; 


     } 

     ///exit(); 

     $filename = 'Bowling-Events-For-' . date('Y') . '.xlsx'; 

     $objPHPExcel->getProperties()->setTitle("Riwaka Bowling Club Events"); 

     header("Content-Type: application/vnd.ms-excel; charset=utf-8"); # Important 
     header("Content-Type: application/force-download"); 
     header("Content-Type: application/octet-stream"); 
     header("Content-Type: application/download"); 

     header("Content-Disposition: attachment; filename=".$filename.""); 
     header("Content-Transfer-Encoding: binary"); 

     header("Pragma: no-cache"); 

     header("Expires: 0"); 

     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
     header("Cache-Control: private",false); 

     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
     $objWriter->save('php://output'); 

     exit(); 
    } 
} 

答えて

0

は、あなたがあなたの正しいコードを添付しましたか?またはあなたが添付されたコードをテストしたことは確かですか?

私はあなたのコードをテストし、その罰金は私のものです。

my screenshot

+0

私は塗りつぶしの色を使用している可能性がありますか? – user4419336

+0

下部にはパディングがあるようですが、塗りつぶしの色を使用しているためではなく、上部にはパディングがありません。 – user4419336

+0

あなたが私のところで見ることができるように、それはFFFFFF塗りつぶし色を使用しています。別のExcel版などがあれば怖いです。私はオフィスを使用しています2013 btw –

関連する問題