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


Setting width of spreadsheet cell using PHPExcel

我正在尝试设置用PHPExcel生成的Excel文档中单元格的宽度,该文档带有:

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

但这并不奏效。

我需要在这里调用什么方法?

这是一个细微的区别,但这对我来说很好:

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

注意,getColumnDimensionByColumngetColumnDimension 之间的区别

此外,我甚至没有设置AutoSize,它工作得很好。

setAutoSize方法必须位于setWidth:之前

$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
你好,我遇到了同样的问题。。将0.71加到excel单元格宽度值上,并将该值提供给
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);

例如:A列宽=3.71(excel值(

给出列宽=4.42

将提供具有相同单元格宽度的输出文件。

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

希望这能帮助

列宽的autoSize设置如下。它对我有用。
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);

Tha是因为getColumnDimensionByColumn接收列索引(从0开始的整数(,而不是字符串。

setCellValueByColumnAndRow

也是如此

这对我有效:

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

请确保在setWidth();之前添加setAuzoSize(false),因为Rolland提到

这种方式更容易自动调整列的大小。

foreach (range('A', 'I') as $letra) {            
            $spreadsheet->getActiveSheet()->getColumnDimension($letra)->setAutoSize(true);
}

设置列宽的正确方法是使用Jahmic发布的行,但需要注意的是,此外,您必须在添加数据之后而不是之前应用样式,否则在某些配置中,列宽不会应用