我使用PHPExcel使用2个工作表创建导出xls。当我打开生成的xls文件时,它会直接打开第二个工作表,即使我已在生成第一个工作表的代码中声明:
$objPHPExcel->setActiveSheetIndex(0)
这是在我在生成第二个工作表的代码中添加以下行之后发生的。
$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');
如果我评论一些代码行,(如图所示),活动工作表索引工作正常。
所以,如果我删除这些行,它可以正常工作。任何想法如何解决这个问题,以保持第一个工作表作为活动工作表?
答案 0 :(得分:4)
创建新工作表会自动将其设置为活动工作表。
除非您在 之后使用$objPHPExcel->setActiveSheetIndex(0);
创建第二张工作表,否则第二张工作表将成为您的有效工作表。
您可以随时使用
手动设置活动工作表$objPHPExcel->setActiveSheetIndex(0);