使用phpExcel 复制sheet到新建的文件中

本文介绍如何使用PHPExcel库识别并读取不同类型的Excel文件,包括复制工作簿属性和工作表,并将这些内容写入新文件的过程。通过示例代码展示了如何设置新Excel文档的属性,如最后修改者、标题、主题等,以及如何复制原始文件的sheet到新文档中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * Created by PhpStorm.
 * User:广州第一靓仔-Stone
 * Date: 2018/11/26
 * Time: 下午5:35
 */


try {
      $inputFileType = \PHPExcel_IOFactory::identify($filePath);
      $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
}catch (Exception $e) {
    echo "捕获到异常";
    echo $e->getMessage();
}


$objPHPExcel = $objReader->load($file);
$newExcel = new PHPExcel(); // 新的excel表格
// 设置属性
$newExcel->getProperties()
    ->setLastModifiedBy($objPHPExcel->getProperties()->getLastModifiedBy()) //设置最后修改者
    ->setTitle($objPHPExcel->getProperties()->getTitle())//设置标题
    ->setSubject($objPHPExcel->getProperties()->getSubject())//设置主题
    ->setDescription($objPHPExcel->getProperties()->getDescription()) //设置备注
    ->setKeywords($objPHPExcel->getProperties()->getKeywords())//设置标记
    ->setCategory($objPHPExcel->getProperties()->getCategory()); //设置类别

//复制sheet

$k = 0;
foreach ($objPHPExcel->getSheetNames() as $sheetName){ //获取文件里面每个sheet
    $sheet = $objPHPExcel->getSheetByName($sheetName);
    $sheet->setTitle('Sheet'.$k);
    $newExcel->addExternalSheet($sheet);//复制到新的对象中
    unset($sheet);
    $k ++;
}

// 因为初始化PHPExcel之后会默认生成第一个叫Worksheet的表格,删除掉

$newExcel->removeSheetByIndex(0);

// 判断使用哪种格式创建写入对象
$objWriter = \PHPExcel_IOFactory::createWriter($newExcel, $inputFileType);


$objWriter->save($file);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值