【问题标题】:PHPExcel: Change Worksheet orderPHPExcel:更改工作表顺序
【发布时间】:2019-11-14 22:31:11
【问题描述】:

我在 PHPExcel 中创建了一些工作表:

$objWorkSheet = $objPHPExcel->createSheet("A");
$objPHPExcel->addSheet($objWorkSheet);
$objWorkSheet = $objPHPExcel->createSheet("B");
$objPHPExcel->addSheet($objWorkSheet);
$objWorkSheet = $objPHPExcel->createSheet("C");
$objPHPExcel->addSheet($objWorkSheet);

以后可以更改工作表的顺序吗?

【问题讨论】:

  • 根据 PHPExcel 文档,他们没有任何方法可以做到这一点。
  • 应该可以通过操作对象来实现

标签: php phpexcel


【解决方案1】:

我创建了这个函数,它将标签移动到电子表格的最后一个位置。 参数:要移动的选项卡的名称。 如果选项卡不存在,它什么也不做。 它在 removeSheetByIndex 函数(第 255 行)之后添加到 PHPExcel.php。 希望对你有帮助。

/**
* Move sheet by name to the end
*
* @param string $pName Sheet name
* if sheet $pName not found, do nothing!!
*/
public function moveSheetByName($pName = '')
{
    if (($worksheet = $this->getSheetByName($pName)) instanceof PHPExcel_Worksheet) {
        $pIndex = $this->getIndex($this->getSheetByName($pName));
        $pSheettoMove = array_splice($this->_workSheetCollection, $pIndex, 1);
        $this->addSheet($pSheettoMove[0]);              
    }
}   

【讨论】:

    猜你喜欢
    • 2018-08-17
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2013-10-12
    相关资源
    最近更新 更多