项目中经常需要导出Excel文件,不在服务器端处理而是富客户端采用Javascript脚本处理数据并导出文件。

Js导出表格为Excel文件 的常见一种办法是调用:ActiveXObject("Excel.Application") ,但是这种方法有局限性,只能在IE系列下的浏览器里实现,兼容性方面不理想。

经测试,采用本文推荐的方法能兼容性较好的导出表格内容到Excel文件。

var str = "博客, 域名\nBlog, 2\nSjolzy.cn, 3";
var uri = 'data:text/csv;charset=utf-8,' + str;

var downloadLink = document.createElement("a");
downloadLink.href = uri;
downloadLink.download = "export.csv";

document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);

这种方法在谷歌/火狐系列浏览器里是OK的,但是在IE里会有“传递给系统调用的数据区域太小 ”的报错提示,原因是href指定的值的字节数过多。

So,对于IE浏览器只好判断下,采用ActiveXObject的形式。

乳此便能较好的使用Javascript导出HTML内容到Excel文件。

转载于:https://www.cnblogs.com/eudeud520/p/3461773.html

JS技巧:兼容性导出表格为Excel文件相关推荐

  1. js将excel转为html,js中表格转为excel文件如何实现多sheet形式

    js中表格转为excel文件如何实现多sheet形式 var idTmr; function getExplorer() { var explorer = window.navigator.userA ...

  2. php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件

    有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入. 1.导入XLS PHP-ExcelReader这是一个 ...

  3. 前端提效 Magic,导出多个Excel文件并打包为压缩包下载

    本篇文章主要介绍使用 exceljs.file-saver.jszip实现下载包含多层级文件夹.多个 excel.每个 excel 支持多个 sheet 的 zip 压缩包. 上一篇文章:前端复杂表格 ...

  4. java导出为excel文件_java导出数据到excel文件

    有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...

  5. python输出数据到excel-python如何导出数据到excel文件

    python导出数据到excel文件的方法: 1.调用Workbook()对象中的add_sheet()方法wb = xlwt.Workbook() ws = wb.add_sheet('A Test ...

  6. php导出csv_原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】

    本文实例讲述了原生PHP实现导出csv格式Excel文件的方法.分享给大家供大家参考,具体如下: 效果图 源码分析 index.php require_once "./Export.php& ...

  7. 用excel数据写入html,如何使用epplus将我的html表格写入excel文件

    因此,我在这里要做的是使用epplus将简单的html表格写入xlsx(excel)文件.代码IVE走到这一步是如何使用epplus将我的html表格写入excel文件 控制器: public voi ...

  8. POI导出多个Excel文件,生成压缩文件

    众所周知,每个Excel文件最多可以存储255个sheet.当需要导出的sheet数超过255个时,比较好的办法是将多个Excel文件压缩成.zip文件再导出 步骤:1 将需要导出的表封装到listB ...

  9. Java导出数据到Excel文件

    Java导出数据到Excel文件 前言 如何导出 导出的基本流程 测试结果 测试数据及结果 测试代码 ExcelExportUtil.class 遇到的问题 lombok的问题 解决 Cell.set ...

最新文章

  1. 深入TCP/IP协议1---图解OSI参考模型
  2. opencv亚像素点检测
  3. 一文看懂:BTS5210G 智能高侧电源开关
  4. mybatis批量插入oracle报表达式,mybatis oracle两种方式批量插入数据
  5. java 初级编程题_java基础经典编程题
  6. Cisco路由器故障诊断技术(3)
  7. 【scala】 scala xml 处理(⑨)
  8. 某大型银行某系统性能调优过程跟踪记录
  9. DNS和活动目录的关系
  10. MATLAB 2020b版本发布,下载试用版并上手使用记录。
  11. 【HTML——代码雨】(效果+代码)
  12. Python实现多重弹窗脚本 整蛊朋友
  13. 信息论与编码冯桂周林著答案_信息论与编码技术+(冯桂+林其伟+陈东华+著)+清华大学出版社+课后答案.pdf...
  14. FIX - 克隆虚拟机NAT模式网络不通、不稳定、vMnet8网络故障、网卡冲突、ssh连接慢
  15. 一键拼接微信好友头像
  16. 字符串(一) | 剑指 Offer 58 - II. 左旋转字符串、541. 反转字符串 II、剑指 Offer 05. 替换空格、151. 反转字符串中的单词
  17. SpringBoot与SpringCloud的版本对应详细版
  18. 联想小新一键恢复小孔_联想小新笔记本如何一键恢复出厂设置_联想小新air恢复出厂设置教程...
  19. 读wildmagic和ogre源码的感受
  20. 上班族计算机学哪个专业好,上班族深圳自考选哪个专业好?

热门文章

  1. 域的基本管理:创建部门和用户
  2. 3.2计算机系统教案,计算机系统教案.ppt
  3. python if条件判断_python if not in 多条件判断代码
  4. Servlet接口中有哪些方法?
  5. 001_支持并发的两次判空懒汉单例
  6. 福建高职单招计算机基础知识,福建高职单招计算机类试题及标准答案
  7. mysql 查询两表 两列 比较大小写_mysql 查询表中列的数据不区分大小写的解决
  8. java如何保证redis设置过期时间的原子性_redis专题系列22 -- 如何优雅的基于redis实现分布式锁
  9. Kotlin极简教程:第9章 轻量级线程:协程
  10. 爬取过程中出现验证码_PCBA贴片的过程中为什么出现白点或白斑