我正在尝试在使用 PHPExcel 生成的 Excel 文档中设置单元格的宽度:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
但这不起作用。
我需要在这里调用什么方法?
我正在尝试在使用 PHPExcel 生成的 Excel 文档中设置单元格的宽度:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
但这不起作用。
我需要在这里调用什么方法?
这是一个微妙的区别,但这对我来说很好:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
getColumnDimensionByColumn
注意,和之间的区别getColumnDimension
此外,我什至没有设置 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 Column width = 3.71(excel 值)
给列宽 = 4.42
将给出具有相同单元格宽度的输出文件。
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
希望这有帮助
Tha 是因为getColumnDimensionByColumn接收列索引(从 0 开始的整数),而不是字符串。
setCellValueByColumnAndRow也是如此
列宽的 autoSize 设置如下。这个对我有用。
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
这对我有用:
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
一定要在罗兰提到setAuzoSize(false)
的之前添加setWidth();
设置列宽的正确方法是使用 Jahmic 发布的行,但是需要注意的是,另外,您必须在添加数据之后应用样式,而不是之前,否则在某些配置中,列宽是没有申请
这种方式更容易自动调整列的大小。
foreach (range('A', 'I') as $letra) {
$spreadsheet->getActiveSheet()->getColumnDimension($letra)->setAutoSize(true);
}