如何在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); 

但是下划线是不存在的,不知是否由于边界也算一行? 例如,如果A1下划线,那么我需要用户A3下一行。

非常感谢您的帮助。

更新:

1)设置最小宽度:

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

  $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中,您可以检查: PHPExcel自动调整列宽

关于你的号码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);