PHPExcel,将样式从一个复制到另一个xls文档

我需要使用其他文件列表创build一个xls文件

我做这样的事情:

$objReader = PHPExcel_IOFactory::createReader('Excel5'); $file_tmpl = $objReader->load('doc10.xls'); 

$ file_tmpl – 生成的文件

  $file1 = $objReader->load('doc11.xls'); 

$ file1 – 复制工作表的文件

  $file1->setActiveSheetIndex(1); $sheet = $file1->getActiveSheet(); $file_tmpl->addSheet($sheet,1); 

因此,除单元格的样式外,表格被复制:边框,字体,文本大小,文本颜色。 如何与风格一起移动?

谢谢。

PHPExcel内置了一个方法: addExternalSheet() ,它将样式以及内容从一个工作簿复制到另一个工作簿。

有一个脚本( 43mergeWorkbooks.php )演示它在PHPExcel的/Examples文件夹中的使用

 $objPHPExcel = PHPExcel_IOFactory::load("x.xlsx"); $objPHPExcel1 = PHPExcel_IOFactory::load("y.xlsx"); foreach($objPHPExcel1->getSheetNames() as $sheetName) { $sheet = $objPHPExcel1->getSheetByName($sheetName); $sheet->setTitle('Sheet'.$k); $objPHPExcel->addExternalSheet($sheet); unset($sheet); } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objPHPExcel->setActiveSheetIndex(0); $file='x'; $filename = $file."_".@date("Ym-d_H-i",time()).'.xlsx'; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); $objWriter->save('php://output'); //send it to user, of course you can save it to disk also! exit; //done.. exiting!