Мне удается записать в файл Excel с помощью phpspreadsheet ... но только для одного листа.Я пытаюсь создать несколько листов, но не получилось. Спасибо за помощь.Ниже приведены мои коды .. Спасибо заранее.
public function exportAll()(
{
$e = 2; // Row start at 2
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$data1 = $this->model_general->get_data1();
$sheet->setActiveSheetIndex(0);
//Excel Heading
$sheet->setCellValue('A1', 'Date');
$sheet->setCellValue('B1', 'Details');
// ... set heading ...
// Excel Data
if(!empty($data1)):
foreach ($data1 as row)
{
$sheet->setCellValue('A'.$e, $row->date);
$sheet->setCellValue('B'.$e, $row->details);
// ... set data ...
$e++;
}
endif;
// Assign Excel Name
$sheet->setTitle('Data1');
$sheet->createSheet();
$data2 = $this->model_general->get_data2();
$sheet->setActiveSheetIndex(1);
//Excel Heading
$sheet->setCellValue('A1', 'Date');
$sheet->setCellValue('B1', 'Details');
// ... set heading ...
// Excel Data
if(!empty($data2)):
foreach ($data2 as row)
{
$sheet->setCellValue('A'.$e, $row->date);
$sheet->setCellValue('B'.$e, $row->details);
// ... set data ...
$e++;
}
endif;
// Assign Excel Name
$sheet->setTitle('Data2');
$sheet->createSheet();
$data3 = $this->model_general->get_data3();
$sheet->setActiveSheetIndex(2);
//Excel Heading
$sheet->setCellValue('A1', 'Date');
$sheet->setCellValue('B1', 'Details');
// ... set heading ...
// Excel Data
if(!empty($data3)):
foreach ($data3 as row)
{
$sheet->setCellValue('A'.$e, $row->date);
$sheet->setCellValue('B'.$e, $row->details);
// ... set data ...
$e++;
}
endif;
// Assign Excel Name
$sheet->setTitle('Data3');
// Set first sheet as active sheet
$sheet->setActiveSheetIndex(0);
$writer = new Xlsx($spreadsheet);
$filename = 'All Data';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'. $filename .'.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output'); // download file
}
Прямо сейчас .. этот код выдает ошибку в $ sheet-> setActiveSheetIndex (0);
Call to undefined method PhpOffice\PhpSpreadsheet\Worksheet\Worksheet::setActiveSheetIndex()
Дайте мне знать, гдеэто идет не так .. я, кажется, не могу найти -, -