0

複数の Excel シートのワークシートを新しい Excel ファイルの 1 つのワークシートに結合したいと考えています。

ディスカッションを参照しましたhttps://phpexcel.codeplex.com/discussions/390898

toArray() を使用して MarkBaker が何を意味するのか理解できませんでした。つまり、どう使うか。私の現在のコードは次のとおりです。

$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ファイルを 1 つにマージする方法については、こちらで説明しています。 -worksheets-phpexcel/

于 2014-03-15T05:06:23.567 に答える