我需要创建一个excel文件(基于服务器上的某些数据)并下载。触发按钮后,所有这些都将发生。
我现在要做的是创建一个调用javascript函数的HTML按钮。 此javascript函数对PHP文件进行AJAX调用,该PHP文件通过“电子表格”库创建excel文件,然后应下载该文件。
在服务器中创建了excel文件,但未触发下载。
HTML端:
<button type="button" class="btn btn-primary" onclick="downloadExcel()">
JavaScript端:
function downloadExcel(){
$.ajax({
url: 'download.php',
type : "POST",
data : { action: "create_sheet"}
});
}
PHP方面:
$action = (string)$_POST['action'];
if("create_sheet" == $action) {
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('myExcel.xlsx');
ob_clean();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;
filename="myExcel.xlsx"');
$writer->save("php://output");
exit;
}
已创建excel文件,但未触发下载。
我在做什么错了?
谢谢您的帮助!
编辑:当我删除PHP端的条件并按照建议使用以下命令调用download.php时:
<a href="download.php">DL</a>
有用
谢谢