js导出execl 兼容ie Chrome Firefox各种主流浏览器(js export execl)
阅读原文时间:2023年07月09日阅读:3

第一种导出table布局的表格

1 2 3 4 5
108
115
116
117 118

119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
标识内容创建时间
1excel012015-07-22
2excel022015-07-22
1excel012015-07-22
144
145 span 146 147 148 157
158
159

在template的head标签中加了(template = '……),防止中文乱码。

其中利用了a标签的download属性来更改导出的execl名字,而且导出execl时只有标签上的样式才会影响到导出的execl的样式,通过类渲染的最终样式没用

第二种导出div布局的表格

1
2
3 4 5 6 7 8 项目统计 9 10 11 12 13 14 15 16 17
170
171
172 173

174
175
176 项目统计 177 178 录入项目 179 导出Execl 180 181 187 188 189 搜索 190 191
192
193 时间段 194 195 196 197
198
199
200
201 347 348
349 350
351
    352
  • 6条数据
  • 353
  • 每页显示15
  • 354
  • 355 356
  • 357
  • 358 359
  • 360
  • 361 362
  • 363
  • 1
  • 364
365
366
367 368
369 370 371
372
373

这种方式实际是把div处理了一下,重新创建了一个隐藏的div,把div布局的内容转换成table布局的内容放到隐藏的div中,中间用了jq的标签替换。(有更好的方法欢迎讨论)

$('#' + tableid + ' .tr-th').replaceWith(function() {
return $("", {
html: $(this).html(), class:$(this).attr('class'),
//设置execl样式,必须是style属性上的,通过class渲染的不行
style:"background-color:"+window.getComputedStyle(this).getPropertyValue("background-color"),
align:"center"
});
});

jq替换标签

里面用到基于bootstrap的时间控件 资源下载