ページから AJAX 呼び出しを行い、JavaScript データを PHP ファイルに送信して、そのデータに基づいてファイルを作成する必要があります。次に、このファイルをユーザーがダウンロードできるようにします。
AJAXリクエストを介してPHP(具体的には私の場合はPHPExcel)によって作成されたファイルを強制的にダウンロードするオプションはありますか?
以下に示すコードは、まだ JavaScript データを送信していませんが、ファイルを生成しています。
これは、PHPExcel を使用してファイルを作成する私の PHP スクリプトです。
public function renderTasksToExcel($tasksData){
$objPHPExcel = new PHPExcel();
// Set properties
$objPHPExcel->getProperties()->setCreator("TRW");
// ...
// Add some data
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
// ...
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Simple');
// Save Excel 2007 file
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$file = '/export.' . date('Y-m-d-H-i-s').'.xlsx';
$objWriter->save($file);
// hotovo
return $this->sendResponse(new FileResponse($file));
}
これは AJAX 呼び出しです。
$.ajax({
type: "POST",
url: {plink Tasks:tasksToExcel},
data: ajaxData,
success:function(data){
$('#download').html(data);
}
})