2016-09-24 75 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); 
相关问题