使用PHPExcel设置电子表格单元格的宽度
我试图用ExcelExcel生成的Excel文档中设置单元格的宽度:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10'); $objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
但是这不起作用。
我需要在这里打电话的方法是什么?
这是一个微妙的差异,但这对我来说很好:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
注意, getColumnDimensionByColumn
和getColumnDimension
的区别
另外,我甚至没有设置AutoSize,它工作正常。
您好我得到了同样的问题..添加0.71到Excel的单元格宽度值,并给这个值
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
例如:列宽= 3.71(excel值)
给列宽= 4.42
将给出具有相同单元宽度的输出文件。
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
希望这个帮助
setAutoSize方法必须在setWidth之前:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false); $objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
因为getColumnDimensionByColumn接收列索引(一个从0开始的整数),而不是一个string。
setCellValueByColumnAndRow也是一样
设置列宽的正确方法是使用由Jahmic发布的行,但是需要注意的是,另外必须在添加数据之后而不是之前应用样式,否则在某些configuration中,列宽是没有申请