添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

ajax 请求返回excel,建议使用jQuery的AJAX返回一个excel文件

99浏览 · 2023-12-19 13:51:05
可以使用jQuery的AJAX来请求返回一个[excel文件](https://geek.csdn.net/educolumn/058a2f001dec80db1ef2d7bf8bc67c6b?spm=1055.2569.3001.10083),但需要确保服务器返回的文件是Excel格式。以下是一个示例代码: ```javascript $.ajax({ url: 'your_server_url', type: 'GET', dataType: 'binary', // 这里设置为二进制类型 processData: false, // 不要将数据处理成[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083) success: function(data) { var blob = new Blob([data], {type: 'application/vnd.ms-excel'}); // 生成[excel文件](https://geek.csdn.net/educolumn/058a2f001dec80db1ef2d7bf8bc67c6b?spm=1055.2569.3001.10083)的Blob[对象](https://geek.csdn.net/educolumn/04c51611e4b730957464192e0307b82c?spm=1055.2569.3001.10083) var link = document.createElement('a'); // 创建一个下载链接 link.href = URL.createObjectURL(blob); // 设置下载链接的[地址](https://geek.csdn.net/educolumn/14a4193cfe4be4597b0afe7044078e22?spm=1055.2569.3001.10083) link.download = 'your_excel_file_name.xlsx'; // 设置下载文件的名称 link.click(); // 触发点击事件,下载文件 请注意,上述代码仅适用于支持HTML5的浏览器。如果需要兼容旧的浏览器,可以考虑使用第三方库,如FileSaver.js。
相关问题
在 Vue 中使用 jQuery 的 ajax 方法导出 Excel 文件出现乱码的原因与在普通的 HTML 页面中使用类似,可能是因为 Excel 文件的编码与浏览器的编码不一致。可以尝试在 ajax 请求中设置 responseType 为 'blob',然后使用 FileSaver.js 库来保存文件并指定编码格式。具体的代码如下: import $ from 'jquery'; import { saveAs } from 'file-saver'; $.ajax({ url: 'your-url', method: 'GET', responseType: 'blob', success: function(data) { var blob = new Blob([data], {type: 'application/vnd.ms-excel;charset=utf-8'}); saveAs(blob, 'file-name.xlsx'); ```