setActiveSheetIndex 无法正常工作
setActiveSheetIndex not working properly
我正在使用 PHPExcel 导出 xls,需要 2 个工作sheet。当我打开生成的 xls 文件时,它直接打开第二个作品sheet,即使我已经在生成第一个作品的代码中声明sheet:
$objPHPExcel->setActiveSheetIndex(0)
这发生在我在生成第二个作品的代码中添加了以下行之后sheet。
$objPHPExcel->getSheet(1)->getStyle('A1:E1')->getFont()->setBold(true);
$objPHPExcel->getSheet(1)->getColumnDimension('A')->setWidth(15);
$objPHPExcel->getSheet(1)->getRowDimension(1)->setRowHeight(40);
$objPHPExcel->getSheet(1)->getStyle('A:F')->getAlignment()->setWrapText(true);
$objPHPExcel->getSheet(1)->getColumnDimension('B')->setWidth(40);
$objPHPExcel->getSheet(1)->getStyle('B')->getAlignment()->setWrapText(true);
$objPHPExcel->getSheet(1)->getColumnDimension('C')->setWidth(15);
$objPHPExcel->getSheet(1)->getColumnDimension('D')->setWidth(15);
$objPHPExcel->getSheet(1)->getColumnDimension('E')->setWidth(15);
$objPHPExcel->getSheet(1)->getColumnDimension('E')->setAutoSize(true);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setTop(1);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setRight(0.75);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setLeft(0.75);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setBottom(1);
$objPHPExcel->getSheet(1)->getStyle('A1:E1')->getFill()
->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
->getStartColor()->setRGB('4EE900');
如果我注释一些代码行,(如图所示)活动的 sheet 索引工作正常。
所以,如果我删除这些行,它就可以正常工作。任何想法如何解决这个问题以保持第一个工作sheet作为活动工作sheet?
创建新作品sheet 自动将其设置为活动 sheet。
除非你使用$objPHPExcel->setActiveSheetIndex(0);
在创建你的第二个作品sheet之后,那么第二个sheet 将是您的活动 sheet.
并且您始终可以在保存之前手动设置活动 sheet 使用
$objPHPExcel->setActiveSheetIndex(0);
我正在使用 PHPExcel 导出 xls,需要 2 个工作sheet。当我打开生成的 xls 文件时,它直接打开第二个作品sheet,即使我已经在生成第一个作品的代码中声明sheet:
$objPHPExcel->setActiveSheetIndex(0)
这发生在我在生成第二个作品的代码中添加了以下行之后sheet。
$objPHPExcel->getSheet(1)->getStyle('A1:E1')->getFont()->setBold(true);
$objPHPExcel->getSheet(1)->getColumnDimension('A')->setWidth(15);
$objPHPExcel->getSheet(1)->getRowDimension(1)->setRowHeight(40);
$objPHPExcel->getSheet(1)->getStyle('A:F')->getAlignment()->setWrapText(true);
$objPHPExcel->getSheet(1)->getColumnDimension('B')->setWidth(40);
$objPHPExcel->getSheet(1)->getStyle('B')->getAlignment()->setWrapText(true);
$objPHPExcel->getSheet(1)->getColumnDimension('C')->setWidth(15);
$objPHPExcel->getSheet(1)->getColumnDimension('D')->setWidth(15);
$objPHPExcel->getSheet(1)->getColumnDimension('E')->setWidth(15);
$objPHPExcel->getSheet(1)->getColumnDimension('E')->setAutoSize(true);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setTop(1);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setRight(0.75);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setLeft(0.75);
$objPHPExcel->getSheet(1)->getPageMargins(1)->setBottom(1);
$objPHPExcel->getSheet(1)->getStyle('A1:E1')->getFill()
->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
->getStartColor()->setRGB('4EE900');
如果我注释一些代码行,(如图所示)活动的 sheet 索引工作正常。
所以,如果我删除这些行,它就可以正常工作。任何想法如何解决这个问题以保持第一个工作sheet作为活动工作sheet?
创建新作品sheet 自动将其设置为活动 sheet。
除非你使用$objPHPExcel->setActiveSheetIndex(0);
在创建你的第二个作品sheet之后,那么第二个sheet 将是您的活动 sheet.
并且您始终可以在保存之前手动设置活动 sheet 使用
$objPHPExcel->setActiveSheetIndex(0);