我目前正在尝试设置我的电子表格的所有边框,以及自动调整大小等格式。
我下面的代码是工作,为表1。电子表格中的所有其他工作表都完全未受影响。我一直试图让它与此电子表格内的所有其他工作表,但没有运气。
有什么想法,我可以全局设置格式,使所有的工作表都有边框和自动调整大小?此电子表格中所有工作表的布局都相同。我正在导出XLSX文件。
干杯
/**autosize*/
for ($col = 'A'; $col != 'P'; $col++) {
$objPHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true);
}
/** Borders for all data */
$objPHPExcel->getActiveSheet()->getStyle(
'A2:' .
$objPHPExcel->getActiveSheet()->getHighestColumn() .
$objPHPExcel->getActiveSheet()->getHighestRow()
)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
/** Borders for heading */
$objPHPExcel->getActiveSheet()->getStyle(
'A1:O1'
)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);
额外问题:我已经设定好了航向。标题出现在第1页上,但不出现在任何其他页中。可以在所有的表格中显示标题吗?标题设置在第1行中。结果是从第2行开始的。
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Asset_id');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Asset_name');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Asset_type');
$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Asset_make');
$objPHPExcel->getActiveSheet()->setCellValue('E1', 'Asset_model');
4条答案
按热度按时间xdnvmnnf1#
您可以为整个工作簿(所有工作表)设置默认样式:
或
这可以用于所有样式属性,而不仅仅是边框。
但是列自动调整大小是
structural
而不是stylistic
,并且必须为每个工作表上的每个列单独设置。编辑
请注意,默认工作簿样式仅适用于Excel5 Writer
kokeuurv2#
ffx8fchx3#
回答您的
extra question
:您可以使用以下命令设置每页上应重复的行:
$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 5);
现在,将重复第1、2、3、4和5行。
hfwmuf9z4#
有关详细信息,请参阅此链接
根据文档,现在我们有:
工作表::setDefaultStyle()