使用ajax调用下载PHPExcel
发布时间:2020-12-16 03:07:48 所属栏目:百科 来源:网络整理
导读:App::import('Vendor','PHPExcel/Classes/PHPExcel');$objPHPExcel = new PHPExcel();$objPHPExcel-getActiveSheet()-setTitle('ReceivedMessages');header('Content-Type: application/vnd.ms-excel');$file_name = "kpi_form_".date("Y-m-d_H:i:s").".xls"
App::import('Vendor','PHPExcel/Classes/PHPExcel'); $objPHPExcel = new PHPExcel(); $objPHPExcel->getActiveSheet()->setTitle('ReceivedMessages'); header('Content-Type: application/vnd.ms-excel'); $file_name = "kpi_form_".date("Y-m-d_H:i:s").".xls"; header("Content-Disposition: attachment; filename=$file_name"); // If you're serving to IE 9,then the following may be needed header('Cache-Control: max-age=1'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); $objWriter->save('php://output'); 当我直接从浏览器调用上面的代码时,会下载结果文件.但是如果我对上面的代码进行ajax调用,我就不会得到下载提示.我可以从控制台选项卡中看到ajax调用已成功完成,并在响应数据中看到一堆随机字符.我假设那是excel对象. 有谁知道如何使用ajax实现下载excel功能?我不想刷新页面.当用户点击“导出”按钮时,应该对php文件进行ajax调用并提示用户下载.
在你的ajax成功函数中添加target = _blank,如下所示
success: function(){ window.open('http://YOUR_URL','_blank' ); }, 否则,您可以巧妙地处理在新选项卡中使用jQuery触发器功能等打开Excel下载链接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |