我正在尝试使用PHPExcel生成的Excel文档中设置单元格的宽度:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
但这不起作用。
我需要在这里打电话的方法是什么?
答案 0 :(得分:146)
这是一个微妙的区别,但这对我来说很好:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
请注意,getColumnDimensionByColumn
和getColumnDimension
另外,我甚至没有设置AutoSize,它运行正常。
答案 1 :(得分:9)
setAutoSize方法必须在setWidth:
之前$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
答案 2 :(得分:8)
嗨,我遇到了同样的问题.. 将0.71添加到excel单元格宽度值并将该值赋予
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
例如: 列宽= 3.71(excel值)
给列宽= 4.42
将为输出文件提供相同的单元格宽度。
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
希望这个帮助
答案 3 :(得分:5)
Tha是因为 getColumnDimensionByColumn 收到列索引(从0开始的整数),而不是字符串。
同样适用于 setCellValueByColumnAndRow
答案 4 :(得分:3)
将列宽设置为下方的autoSize。它对我有用。
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
答案 5 :(得分:1)
设置列宽的正确方法是使用Jahmic发布的行,但重要的是要注意另外,您必须在添加数据之后应用样式,而不是之前,否则在某些配置中,不应用列宽
答案 6 :(得分:1)
这对我有用:
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
请务必在setAuzoSize(false)
之前添加setWidth();
,,然后再提及
答案 7 :(得分:0)
这种方式更容易自动调整列的大小。
foreach (range('A', 'I') as $letra) {
$spreadsheet->getActiveSheet()->getColumnDimension($letra)->setAutoSize(true);
}