使用PHPExcel设置电子表格单元格的宽度

我试图用ExcelExcel生成的Excel文档中设置单元格的宽度:

$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10'); $objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false); 

但是这不起作用。

我需要在这里打电话的方法是什么?

这是一个微妙的差异,但这对我来说很好:

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

注意, getColumnDimensionByColumngetColumnDimension的区别

另外,我甚至没有设置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中,列宽是没有申请