Layui如何解决表格在旧版IE11浏览器下点击导出Excel没反应

畫卷琴夢

畫卷琴夢

2026-06-23

908人浏览

原创

IE11下table.exportFile()无反应的根因是layui源码强制禁用IE导出,检测到IE即抛错终止;应绕过该函数,改用table.getData()+Blob+URL.createObjectURL()手动导出CSV或引入polyfill后的SheetJS导出Excel。

IE11 下 table.exportFile() 点击无反应的根因

不是代码写错了,是 layui 原生导出函数在 ie11 中直接被禁用——源码里有明确判断:r.ie ? o.error("ie_not_support_exports")。只要检测到 ie(包括 ie11),就抛错并终止执行,连下载链接都不会创建。

绕过 IE 禁用逻辑的最小改动方案

不改 layui 源码也能解决,关键是避开 table.exportFile() 这个“假入口”。它本质只是个封装,底层仍是拼 CSV 字符串 + <a></a> 下载。IE11 完全支持 Blob + URL.createObjectURL(),这才是可靠路径:

  • table.getData('yourTableId') 拿全量数据(别用 table.cache,它只含当前页)
  • 手动拼 CSV 字符串,每行字段用 " 包裹、逗号分隔,首行加 \uFEFF BOM 头防乱码
  • 构造 Blob 时指定 type: 'text/csv;charset=utf-8;'
  • a.download 可直接赋中文名(如 '用户报表.csv'),IE11 支持

导出 Excel(.xlsx)在 IE11 必须换库

lay-excel 插件本身不兼容 IE11:它依赖 Array.fromPromise 和部分 ES6+ API,IE11 原生不支持。强行引入会报 Object doesn't support property or method 'from'

可行解是弃用 lay-excel,改用 xlsx.full.min.js(SheetJS full 版):

Comet AI 浏览器
Comet AI 浏览器

下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。

下载
  • 必须用 full 版本,core 版不支持写入
  • IE11 需提前 polyfill PromiseArray.from(可用 core-js@3)
  • 导出调用 XLSX.writeFile(workbook, 'xxx.xlsx'),IE11 下会触发下载
  • 注意:大数据量(>5000 行)在 IE11 中可能卡死,建议后端导出

容易被忽略的两个硬性前提

就算代码全对,以下两点任一缺失都会导致“没反应”:

  • 表格必须已完整渲染完成——table.render()done 回调里才能安全调用 getData(),否则返回空数组
  • IE11 默认禁用 ActiveX 下载(尤其内网环境),需确认浏览器安全设置中“对未标记为可安全执行脚本的 ActiveX 控件初始化并执行脚本”设为“启用”或“提示”

最后提醒:IE11 已于 2025 年 6 月正式停止支持,若非强约束场景,优先推动用户升级 Edge 或 Chrome。临时兼容方案能跑通,但性能和稳定性天然受限。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

浏览器 excel layui

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1086

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

2210

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

2104

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

2275

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

334

5

ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

1095

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

317

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

993

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

890

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 11.4万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 9.7万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.5万人学习