我正在尝试设置用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');
$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发布的行,但需要注意的是,此外,您必须在添加数据之后而不是之前应用样式,否则在某些配置中,列宽不会应用