我使用PHPExcel
使用php生成xl。我不是加载xl表,而是使用创建新表
$phpExcel = new PHPExcel();
$phpExcel->getActiveSheet()->setTitle("My Sheet");
我想使用$phpExcel->setActiveSheetIndexByName("2");
使用phpExcel设置活动工作表
但是我得到一个错误setActiveSheetIndexByName not defined function.
请帮助
当然,您需要创建/添加额外的工作表才能更改活动工作表:使用new PHPExcel()只会创建包含单个工作表的工作簿。
可以使用图纸索引(图纸从0开始索引)设置活动图纸;
$objPHPExcel->setActiveSheetIndex(2);
或按名称
$objPHPExcel->setActiveSheetIndexByName('My Second Sheet');
使用createSheet()或addSheet()方法添加新工作表将自动将该新工作表设置为活动工作表。默认情况下,任何新的工作表都会被赋予一个由单词"worksheet"和一个数字组成的名称,直到您使用setTitle()对其进行更改为止。
将以下函数添加到Excel.php类文件中:
function setActiveSheet($sheetnumber) {
$this->objPHPExcel->setActiveSheetIndex($sheetnumber);
}
然后调用这样的函数:
$phpExcel->setActiveSheet(0);
您不应该需要ByName
。只尝试setActiveSheetIndex(2);
。
如果直接操作workbook.xml 中的xml
$replace = '#activeTab="'d"#i';
$with = 'activeTab="0"';
$newxmlfile=preg_replace($replace,$with,$newxmlfile); // force activetab to sheet 1