1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > HTML Table导出EXCEL(支持大量数据 保留报表格式)

HTML Table导出EXCEL(支持大量数据 保留报表格式)

时间:2021-09-13 12:19:34

相关推荐

HTML Table导出EXCEL(支持大量数据 保留报表格式)

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

首先是要导入相应的js,jQuery.js和在网上找到的FileSaver.js(原网址:/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');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。