2016-09-24 309 views
1

我想:如何在PHPexcel中設置單元格的樣式?

1)設置最小寬度細胞

在互聯網上的有關於這一些討論,但我發現的代碼無法正常工作:

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(100); 

的列大小是根據數據大小/預置寬度

2)強調細胞

我提出的ac不擴大伯爵表,所以我想強調一些列

$styleArray = array(
    'borders' => array(
    'bottom' => array(
     'style' => PHPExcel_Style_Border::BORDER_THIN 
    ) 
) 
); 

$sheet->getStyle('A1')->applyFromArray($styleArray); 

但是下劃線是不存在的,我不知道是不是由於邊界也算1線?例如,如果A1有下劃線,那麼我需要用戶A3作爲下一行。

非常感謝您的幫助。

更新:

1)設置最小寬度:

從源代碼中的列是一個數字而不是字符串,所以我嘗試這樣但仍沒有運氣

$excel->getActiveSheet()->getColumnDimensionByColumn(0)->setAutoSize(false); 
    $excel->getActiveSheet()->getColumnDimensionByColumn(0)->setWidth('4.42'); 
現在

2)下劃線工作

$border_bottom = array(
     'borders' => array(
      'bottom' => array(
       'style' => PHPExcel_Style_Border::BORDER_THIN 
      ) 
     ) 
    ); 

    $excel->getActiveSheet()->getStyle("7")->applyFromArray($border_bottom); 

它的工作原理,但只是想知道我可以強調,當一組電池,而不是硬編碼的位置:A1:B2等..

+1

在案例1:您是否嘗試過使用根據條件表達式語句列的長度? 在案例2中:是否像$ objPHPExcel-> getActiveSheet()那樣定義表單? – Angel

+0

請檢查我更新的問題,謝謝 – user782104

回答

0

在1號,你可以檢查此:PHPExcel auto size column width

隨着對你的號碼2的問候,你有沒有試過使用它?您不是強調單元格,而是強調單元格的價值。

$styleArray = array(
      'font' => array(
      'underline' => PHPExcel_Style_Font::UNDERLINE_SINGLE 
    ) 
); 

$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray); 
unset($styleArray); 

如果你想單元格區域必須強調的不是,:

objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray); 

使用:

$objPHPExcel->getActiveSheet()->getStyle('A1:A3')->applyFromArray($styleArray);