HTML Table导出EXCEL(支持大量数据,保留报表格式)
最近项目上需要制作一张大数据量的报表,用润乾报表展示会非常慢,所以打算自己写html实现,网上大部分示例是保留格式但是有1.5M的大小限制,还有一种是导出大量数据但是不保留格式的,所以在这里将两个结合一下,记录下来
- 首先是要导入相应的js,jQuery.js和在网上找到的FileSaver.js(原网址:https://github.com/eligrey/FileSaver.js/tree/master/dist )
- 然后实现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);
}
- 调用
tableToExcel('table_dv', 'DVData', template, 'DV_DATA.xlsx');
HTML Table导出EXCEL(支持大量数据,保留报表格式)相关推荐
- html table导出excel 插入图片_前端 Table 用 JS 导出EXCEL(支持大量数据,保留报表格式) - pensive2019...
最近项目上,需要用到将网页上的table报表导出Excel.原先一直用,面对简单的数结构时只要简单的套用就能导出了,但是table结构相对复杂时,很难在组成一样结构,要花很多时间调:这时就想到在百度上 ...
- easyexcel导出excel,大数据量100万以内分页查询zip格式导出
easyexcel导出excel,大数据量100万以内分页查询zip格式导出 准备工作 整体思路 controller层 service层 mapper层 VO 表结构 测试 备注 easyExcel ...
- php导出照片,TP5导出excel图片和数据--先下载图片到本地服务器
## :-: TP5导出excel图片和数据--先下载图片到本地服务器 ~~~ public function Export( ) { set_time_limit(0); ini_set('memo ...
- php 导出excel分段导出_php 导出excel 10万数据
php导出excel 10万数据(此代码主要测试用,没写单元测试 还在修改中 后期加上单元测试) 在工作当中要对一些基本信息和其他信息导出 起初信息比较小无所谓.... 但当信息超出65535的时候 ...
- java-EasyExcel导出excel设置单元格为文本格式(含代码)
java-EasyExcel导出excel设置单元格为文本格式(含代码) 在使用EasyExcel导出excel模板时.我们会发现导出的日期和大长度数字都会自动更换格式,不是文本格式.并且在空白单元格 ...
- springboot支持返回数据为xml格式
/*** 返回xml格式数据,需要前端设置请求头Accept包含application/xml* @return*/@GetMapping(value = "getConfig", ...
- Element table 导出Excel重复数据
一.说明 使用Element组件的table实现固定列时,在前端页面导出table数据为Excel时,可以使用xlsx插件或bootstrap-table插件时,导出的数据会出现两份一样的数据. 二. ...
- layui table 导出excel 兼容IE浏览器
layui自带的excel导出不兼容ie,所以需要自己配置一些东西. 参考:https://fly.layui.com/jie/51262/ 首先下载 layui_exts 下载地址 下载之后将 la ...
- java poi导出Excel表格超大数据量解决方案
Java实现导出excel表格功能,大部分都会使用apache poi,apache poi API 地址 POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果 ...
- 前端javascript 实现导出excel 支持分页
下载地址 链接:https://pan.baidu.com/s/1ce6oxhRMirMRmlSz8L8PLw 提取码:ws7c 版本 v2.0.0 进步 丢弃了jquery操作dom,由于大量耗费 ...
最新文章
- Python 动态变量名定义与调用
- js颜色选择器 制作分析
- ‘utf-8‘ codec can‘t encode character ‘\udcc0‘ in position 35
- Cause: java.sql.SQLException: Invalid parameter object type. Expected 'com.jd.sns.biz.api.domain.Plu
- 字节跳动 java面经_字节跳动Java面经(已offer)
- SAP 导出 HTML,【我sap这导出数据表格export.mhtml怎么转换为 excel 工作表.xlsx】excel生成html表格数据...
- NLTK基础教程学习笔记(二)
- 3.1 Tensorflow基础知识
- java的main是主线程吗_main函数是主线程吗
- python 指定版本号
- SQL数据同步到ELK(四)- 利用SQL SERVER Track Data相关功能同步数据(上)
- 电脑系统及软件安装日期查看
- matlab图片测量尺寸_基于视觉的零件尺寸测量方法
- 浅谈游戏《底特律:变人》
- C语言为什么不执行数组下标的有效性检查
- 如何在线批量转换图片格式为jpg?
- 从安装jdk开始(安装jdk的步骤)
- JavaScript利用Date对象实现倒计时效果
- 市场调研-全球与中国FFC和FPC电路板连接器市场现状及未来发展趋势
- VB基础版版务处理_20050808