如何在PHPexcel中设置单元格的样式?

时间:2016-09-24 02:50:23

标签: php html excel styles phpexcel

我想:

1)设置细胞的最小宽度

在互联网上有一些关于此的讨论,但我发现代码不起作用:

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

根据数据大小/预设宽度不扩展列大小

2)强调细胞

我正在制作一个帐户表,所以我想强调一些行

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

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

然而下划线不存在,我不知道是否因为边界也算作1行?例如,如果A1加下划线,那么我需要为下一行使用A3。

非常感谢你的帮助。

更新

1)设置min-width:

从源代码中,列是一个数字而不是字符串,所以我尝试这样但仍然没有运气

    $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 个答案:

答案 0 :(得分: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);