Phpspreadsheet отключить «сохранить как» всплывающее окно для загрузки - PullRequest
0 голосов
/ 20 июня 2019

Я использую пакет phpspreadsheet в laravel для генерации файла Excel, пока он работает как шарм.Вот моя проблема, я хотел сохранить Excel в определенном каталоге вместо загрузки всплывающих окон, я дал путь для сохранения в определенном каталоге, и он работает нормально.

$writer->save($full_path.$filename);

, но загрузка всплывающих окон по-прежнемуниже приведен код для генерации Excel:

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Style\Aligment;
use SpreadsheetReader;

public function export()
{
    $spreadsheet = new Spreadsheet();

    // Add some data
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->getStyle('C')->getAlignment()->setHorizontal('left');
    $sheet->getColumnDimension('A')->setWidth(20);
    $sheet->getColumnDimension('B')->setWidth(20);
    $sheet->setCellValue('A1', 'Name');
    $sheet->setCellValue('B1', 'Service');

    $users = User::get();
    if(count($users) > 0) {
        $rowCount = 2;
        foreach($users as $user) {
            $sheet->setCellValue('A' . $rowCount, $user->name);
            $sheet->setCellValue('B' . $rowCount, $user->service);
            $rowCount++;
        }
    }

    $spreadsheet->getActiveSheet()->setTitle('User Services');
    $spreadsheet->setActiveSheetIndex(0);

    $filename = "file-".date('YmdHis').".xlsx";
    $full_path = public_path().'\rpts\\';

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$filename.'"');
    header('Cache-Control: max-age=0');

    $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
    //$writer->save('php://output');
    $writer->save($full_path.$filename);

    exit;
}

В любом случае запрещается ли всплывающее окно save as в процессе экспорта?

enter image description here

...