如何在不加载xlsx文件的情况下设置活动工作表?

时间:2013-08-16 11:09:10

标签: php phpexcel

我正在使用PHPExcel使用php生成xl。我没有加载xl工作表,而是使用

创建新工作表
$phpExcel = new PHPExcel();
$phpExcel->getActiveSheet()->setTitle("My Sheet");

我想使用$phpExcel->setActiveSheetIndexByName("2");

使用phpExcel设置活动工作表

但我收到错误setActiveSheetIndexByName not defined function.

请帮忙

4 个答案:

答案 0 :(得分:21)

当然,您需要创建/添加其他工作表才能更改活动工作表:使用新的PHPExcel()只会创建包含单个工作表的工作簿。

您可以使用工作表索引设置活动工作表(工作表从0开始索引);

$objPHPExcel->setActiveSheetIndex(2);

或按名称

$objPHPExcel->setActiveSheetIndexByName('My Second Sheet');

使用createSheet()或addSheet()方法添加新工作表会自动将新工作表设置为活动工作表。默认情况下,任何新工作表都将被赋予一个名称,包含单词“Worksheet”和一个数字,直到您使用setTitle()来更改它。

答案 1 :(得分:4)

将以下函数添加到Excel.php类文件中:

function setActiveSheet($sheetnumber) {
        $this->objPHPExcel->setActiveSheetIndex($sheetnumber);
    }

然后调用这个函数:

$phpExcel->setActiveSheet(0);

答案 2 :(得分:0)

您不应该需要ByName。试试setActiveSheetIndex(2);

答案 3 :(得分:0)

如果您直接在workbook.xml中操作xml

j