0

我想将多个 excel 工作表中的工作表合并到一个新的 excel 文件中的 1 个工作表中。

我提到了讨论https://phpexcel.codeplex.com/discussions/390898

我不明白 MarkBaker 使用 toArray() 是什么意思。我的意思是我如何使用它。我当前的代码是:

$file1="file1.xlsx";
$objPHPExcel1 = PHPExcel_IOFactory::load($file1);
$file2="file2.xlsx";
$outputFile = "output.xlsx";

$objPHPExcel2 = PHPExcel_IOFactory::load($file2);
$sheet = $objPHPExcel2->getActiveSheet();
$objPHPExcel1->addExternalSheet($sheet);

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel1); 
$objWriter->save($outputFile);

有了这个,我可以将各种文件的不同工作表放入一个新工作簿,但作为不同的工作表。

我应该怎么做才能像 vitman 说的那样把它全部放在同一张纸上?first_excel_file_with_one_worksheet --空行-- second_excel_file_with_one_worksheet --空行--等等。

4

1 回答 1

0

// 从办公站点更新

$filenames = array('doc1.xlsx', 'doc2.xlsx');

$bigExcel = new PHPExcel();
$bigExcel->removeSheetByIndex(0);

$reader = PHPExcel_IOFactory::createReader($input_file_type);

foreach ($filenames as $filename) {
    $excel = $reader->load($filename);

    foreach ($excel->getAllSheets() as $sheet) {
        $bigExcel->addExternalSheet($sheet);
    }

    foreach ($excel->getNamedRanges() as $namedRange) {
        $bigExcel->addNamedRange($namedRange);
    }
}

$writer = PHPExcel_IOFactory::createWriter($bigExcel, 'Excel5');

$file_creation_date = date("Y-m-d");

// name of file, which needs to be attached during email sending
$saving_name = "Report_Name" . $file_creation_date . '.xls';


// save file at some random location    
$writer->save($file_path_location . $saving_name);

// More Detail : with different object: 

此处解释了将多个 xls 文件合并为单个文件:我将描述一些不同的内容: http ://rosevinod.wordpress.com/2014/03/15/combine-two-or-more-xls-files-as -工作表-phpexcel/

于 2014-03-15T05:06:23.567 回答