TableExport导出失败问题

Posted punkrocker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TableExport导出失败问题相关的知识,希望对你有一定的参考价值。

本周有一个需求,将一个网页上一个js导出成csv文件,供数据分析使用

找到一个插件,TableExport,可以很方便的将table导出(默认设置的话,仅需一行代码)

但是,这导出文件较大(6.2M)时,却发生了奇怪的错误(仅提示网络错误)

此问题出现于Chrome中,但是用Safari却可以正常下载

经查,TableExport是将CSV文件,放到get请求中

如果CSV文件内容过多,则get请求长度过长,无法正确处理

解决方法:使用Java处理数据,生成CSV文件,提供链接下载即可

 

问题解决了,再看一看问题的原因

从浏览器的下载地址即可看出,TableExport插件是直接将CSV文件作为get请求发送从而下载

get请求的长度在http协议规范中没有规定,规定是服务器(如IIS、Tomcat等)和浏览器(如Safari、Chrome等)自行处理的

常用浏览器长度限制:

IE:2083

Firefox:65536(但实际不少于100000)  --括号内不确定,仅为网络查询资料,实际这个6.2M的文件Firefox也无法正常下载,可能与版本有关

Chrome:8182

Safari:80000

Opera:190000

常用服务器长度限制:

Apache:8192

IIS:16384(IIS7中可以修改)

nginx:可通过配置修改

以上是关于TableExport导出失败问题的主要内容,如果未能解决你的问题,请参考以下文章

jQuery tableExport导出 excel

Jquery tableExport.js将网页中的表格导出为Excel

怎么让tableExport支持中文导出

tableexport.js 导出无数据怎么解决

这个简单、易于实现的库可以将HTML表导出为xlsx、xls、csv和txt文件。

jquery导出Excel表格