рдХреГрдкрдпрд╛ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрдЧреЗ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рд▓рдЧрд╛рдПрдВ: [рдмрдЧ] [рдкреНрд░рд╕реНрддрд╛рд╡] [рдкреНрд░рд╢реНрди]ред
рдирдорд╕реНрддреЗ @kurianic , рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдкреБрд╕реНрддрд┐рдХрд╛рдУрдВ A рдФрд░ B рдХреА рд╕рднреА рд╢реАрдЯреЛрдВ рдХреЛ рдкрдврд╝реЗрдЧрд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирдИ рдХрд╛рд░реНрдпрдкреБрд╕реНрддрд┐рдХрд╛ C рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдЧрд╛ред рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ A рдФрд░ B рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реА рд╢реАрдЯ рдирд╣реАрдВ рд╣реИрдВред
// Load the workbooks to merge in a collection.
// This example is assuming they're stored in the Laravel storage folder.
$workbooks = collect([
'workbookA.xlsx',
'workbookB.xlsx',
])->map(function ($filename) {
return Excel::load(storage_path($filename));
});
// Create merged workbook
$workbookC = Excel::create('workbookC', function ($excel) use ($workbooks) {
// For each workbook to be merged
$workbooks->each(function ($workbook) use ($excel) {
// Get all the sheets
collect($workbook->getAllSheets())->each(function ($sheet) use ($excel) {
// And add them to the merged workbook
$excel->addExternalSheet($sheet);
});
});
})->save(); // save merged workbook to storage/exports/workbookC.xlsx
рд╣рд╛рдп @stephanecoinon , рдореИрдВ рдПрдХ рд╣реА рд╢реАрдЯ рдХреЛ рдХрдИ рдмрд╛рд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╛рдореЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ $sheet->setTitle. рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ "рд╢реАрдЯ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред" рдЬрдм AddExternalSheet рдХреЛ setTitle рдХреЗ рдареАрдХ рдмрд╛рдж рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
$sheet_original->setTitle("SHEET ".$i);
$sheets[$i] = $sheet_original;
$sheets[$i]->cell('I64', function($cell) use($i) { $cell->setValue($i); });
$excel->addExternalSheet($sheets[$i] );
@ рд╕рд░рдкрдХрд╛рдпрд╛-xx рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ addSheet()
:
Excel::create('workbook', function ($excel) {
// Create first "original" sheet
$original = $excel->sheet('Sheet 1', function ($sheet) {
$sheet->fromArray([
['foo' => 'bar']
]);
});
// Copy the first sheet 4 times
for ($sheetCount = 2; $sheetCount <= 5; $sheetCount++) {
$copy = $original->getSheet()->copy();
$copy->setTitle("Sheet {$sheetCount}");
$excel->addSheet($copy);
}
})->save();
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ рд╕рд░рдкрдХрд╛рдпрд╛-xx рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
addSheet()
: