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