我正在使用PHPExcel讀取excel模板,填充數據並要求用戶下載文件。使用ajax調用下載文件
generate_excel.php
$objPHPExcel = PHPExcel_IOFactory::load("./template.xlsx");
//populate data ...
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
當我直接從瀏覽器中打開generate_excel.php,結果文件被下載。 但是,如果我調用一個ajax調用generate_excel.php,我沒有得到下載提示。使用Chrome開發人員工具,我可以從Network選項卡看到ajax調用已成功完成,並且在響應數據中可以看到一堆隨機字符。我假設這是excel對象。
有誰知道我如何使用ajax實現下載excel功能?我不想刷新頁面。當用戶點擊「導出」按鈕時,應該對php文件進行ajax調用並提示用戶下載。
謝謝!
我不知道PHP的,但如果它的工作方式相同作爲asp.net,那麼當你有文件返回時,你的頁面實際上不會重新加載。所以,它是否是ajax並不重要。 –