单击按钮创建并下载文件

时间:2019-06-16 17:25:31

标签: javascript php jquery ajax

我需要创建一个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> 有用 谢谢

0 个答案:

没有答案