最近项目上需要制作一张大数据量的报表,用润乾报表展示会非常慢,所以打算自己写html实现,网上大部分示例是保留格式但是有1.5M的大小限制,还有一种是导出大量数据但是不保留格式的,所以在这里将两个结合一下,记录下来

  1. 首先是要导入相应的js,jQuery.js和在网上找到的FileSaver.js(原网址:https://github.com/eligrey/FileSaver.js/tree/master/dist )
  2. 然后实现tableToExcel函数(如下),saveAs()函数执行后将会直接下载excel文件,temple是你要导出的excel样式的css字符串:
var template =' <style type="text/css">' +'table {' +'    font-family: verdana,arial,sans-serif;' +'    font-size:11px;' +'    color:#333333;' +'    border-width: 1px;' +'    border-color: #666666;' +'    border-collapse: collapse;' +'}' +'table th {' +'    padding: 8px;' +'    width: 200px;' +'   height: 30px;' +'    border-style: solid;' +'    border-color: #9a9a9a;' +'    color: #ffffff;' +'    background-color: #439bde;' +'}' +'table td {' +'    width: 200px;' +'    height: 30px;' +'    padding: 8px;' +'    text-align: center;' +'    border-style: solid;' +'    border-color: #9a9a9a;' +'}' +'' +'.td_class_0{' +'    background-color: #ffffff;' +'}' +'' +'.td_class_1{' +'    background-color: #f1f5fa;' +'}'+'</style>';

function tableToExcel(tableid, sheetName, template, fileName) {if (!tableid.nodeType) tableid = document.getElementById(tableid);var html = "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">\n" +"    <head>\n" +"        <!--[if gte mso 9]><xml>\n" +"            <x:ExcelWorkbook>\n" +"                <x:ExcelWorksheets>\n" +"                    <x:ExcelWorksheet>\n" +"                        <x:Name>"+ sheetName +"</x:Name>\n" +"                        <x:WorksheetOptions>\n" +"                            <x:Print>\n" +"                                <x:ValidPrinterInfo />\n" +"                            </x:Print>\n" +"                        </x:WorksheetOptions>\n" +"                    </x:ExcelWorksheet>\n" +"                </x:ExcelWorksheets>\n" +"            </x:ExcelWorkbook>\n" +"        </xml>\n" +"        <![endif]-->\n" + template +"    </head>" +"<body>" + tableid.outerHTML +"</body></html>";var blob = new Blob([html], {type: "text/plain;charset=utf-8"});saveAs(blob, fileName);
}
  1. 调用
tableToExcel('table_dv', 'DVData', template, 'DV_DATA.xlsx');

HTML Table导出EXCEL(支持大量数据,保留报表格式)相关推荐

  1. html table导出excel 插入图片_前端 Table 用 JS 导出EXCEL(支持大量数据,保留报表格式) - pensive2019...

    最近项目上,需要用到将网页上的table报表导出Excel.原先一直用,面对简单的数结构时只要简单的套用就能导出了,但是table结构相对复杂时,很难在组成一样结构,要花很多时间调:这时就想到在百度上 ...

  2. easyexcel导出excel,大数据量100万以内分页查询zip格式导出

    easyexcel导出excel,大数据量100万以内分页查询zip格式导出 准备工作 整体思路 controller层 service层 mapper层 VO 表结构 测试 备注 easyExcel ...

  3. php导出照片,TP5导出excel图片和数据--先下载图片到本地服务器

    ## :-: TP5导出excel图片和数据--先下载图片到本地服务器 ~~~ public function Export( ) { set_time_limit(0); ini_set('memo ...

  4. php 导出excel分段导出_php 导出excel 10万数据

    php导出excel 10万数据(此代码主要测试用,没写单元测试 还在修改中 后期加上单元测试) 在工作当中要对一些基本信息和其他信息导出 起初信息比较小无所谓.... 但当信息超出65535的时候 ...

  5. java-EasyExcel导出excel设置单元格为文本格式(含代码)

    java-EasyExcel导出excel设置单元格为文本格式(含代码) 在使用EasyExcel导出excel模板时.我们会发现导出的日期和大长度数字都会自动更换格式,不是文本格式.并且在空白单元格 ...

  6. springboot支持返回数据为xml格式

    /*** 返回xml格式数据,需要前端设置请求头Accept包含application/xml* @return*/@GetMapping(value = "getConfig", ...

  7. Element table 导出Excel重复数据

    一.说明 使用Element组件的table实现固定列时,在前端页面导出table数据为Excel时,可以使用xlsx插件或bootstrap-table插件时,导出的数据会出现两份一样的数据. 二. ...

  8. layui table 导出excel 兼容IE浏览器

    layui自带的excel导出不兼容ie,所以需要自己配置一些东西. 参考:https://fly.layui.com/jie/51262/ 首先下载 layui_exts 下载地址 下载之后将 la ...

  9. java poi导出Excel表格超大数据量解决方案

    Java实现导出excel表格功能,大部分都会使用apache poi,apache poi API 地址 POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果 ...

  10. 前端javascript 实现导出excel 支持分页

    下载地址 链接:https://pan.baidu.com/s/1ce6oxhRMirMRmlSz8L8PLw  提取码:ws7c 版本 v2.0.0 进步 丢弃了jquery操作dom,由于大量耗费 ...

最新文章

  1. Python 动态变量名定义与调用
  2. js颜色选择器 制作分析
  3. ‘utf-8‘ codec can‘t encode character ‘\udcc0‘ in position 35
  4. Cause: java.sql.SQLException: Invalid parameter object type. Expected 'com.jd.sns.biz.api.domain.Plu
  5. 字节跳动 java面经_字节跳动Java面经(已offer)
  6. SAP 导出 HTML,【我sap这导出数据表格export.mhtml怎么转换为 excel 工作表.xlsx】excel生成html表格数据...
  7. NLTK基础教程学习笔记(二)
  8. 3.1 Tensorflow基础知识
  9. java的main是主线程吗_main函数是主线程吗
  10. python 指定版本号
  11. SQL数据同步到ELK(四)- 利用SQL SERVER Track Data相关功能同步数据(上)
  12. 电脑系统及软件安装日期查看
  13. matlab图片测量尺寸_基于视觉的零件尺寸测量方法
  14. 浅谈游戏《底特律:变人》
  15. C语言为什么不执行数组下标的有效性检查
  16. 如何在线批量转换图片格式为jpg?
  17. 从安装jdk开始(安装jdk的步骤)
  18. JavaScript利用Date对象实现倒计时效果
  19. 市场调研-全球与中国FFC和FPC电路板连接器市场现状及未来发展趋势
  20. VB基础版版务处理_20050808

热门文章

  1. Liang-GaRy啃linux书想吐(五)
  2. android mcc mnc,SystemUI如何获得SIM卡相关的mcc/mnc值
  3. 汽车维修企业管理【14】
  4. 黑冰客防骗子—常见网络骗子骗术防御要点zxtd
  5. webpack打包处理字体文件
  6. Math常用的数学运算(包括取整、取绝对值、保留几位小数等)
  7. 企业微信PC版多开软件,测试win10有效
  8. 如何快速理清大型项目业务逻辑
  9. 开源自己开发的一款宠物小精灵游戏
  10. 世界五大黑客:代码创造他们,他们改变世界!