php 表格自动适应页面,PHPExcel自动调整列宽

如果列设置为AutoSize,则PHPExcel将尝试根据列的计算值(所有公式的结果)以及格式掩码(例如,千位分隔符)添加的任何其他字符来计算列宽。

默认情况下,这是一个estimated宽度:基于使用GD,可以使用更加精确的计算方法,GD也可以处理粗体和斜体等字体样式的特征; 但这是一个更大的开销,所以它默认closures。 您可以使用更精确的计算

PHPExcel_Shared_Font::setAutoSizeMethod(PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT);

但是,autosize不适用于所有Writer格式…例如CSV。 你没有提到你正在使用的作家。

但是您还需要确定列来设置维度:

foreach(range('B','G') as $columnID) { $objPHPExcel->getActiveSheet()->getColumnDimension($columnID) ->setAutoSize(true); }

$objPHPExcel->getActiveSheet()->getColumnDimension()需要一个列ID。

$objPHPExcel->getActiveSheet()->getColumnDimensions()将返回所有定义的列维度logging的数组; 但是除非明确创build了列维度logging(可能通过加载模板或手动调用getColumnDimension() ),否则它将不存在(内存保存)。

如果您需要在多个工作表上执行此操作,并且在每个工作表中都有多个列,则可以通过以下方法遍历所有这些表单:

// Auto size columns for each worksheet foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $objPHPExcel->setActiveSheetIndex($objPHPExcel->getIndex($worksheet)); $sheet = $objPHPExcel->getActiveSheet(); $cellIterator = $sheet->getRowIterator()->current()->getCellIterator(); $cellIterator->setIterateOnlyE


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部