【发布时间】:2013-10-16 10:58:22
【问题描述】:
我正在使用 javascript 代码将 html 表导出到 .xls 文件。它在 crome 中工作,当数据不大时。但是当数据很大时,它会向我显示类似的错误
我用于将表格导出为 .xls 文件的代码如下:
function exportDiv() {
//working on crome perfectly
var dt = new Date();
var day = dt.getDate();
var month = dt.getMonth() + 1;
var year = dt.getFullYear();
var hour = dt.getHours();
var mins = dt.getMinutes();
var postfix = day + "." + month + "." + year + "_" + hour + "." + mins;
var a = document.createElement('a');
var data_type = 'data:application/vnd.ms-excel';
var table_div = document.getElementById('tbl-1');
var table_html = table_div.outerHTML.replace(/ /g, '%20');
a.href = data_type + ', ' + table_html;
a.download = 'exported_table_' + postfix + '.xls';
a.click();
e.preventDefault();
}
我也有足够的 4 GB 内存,所以我认为这不是内存限制问题。
您能帮我了解如何导出大数据吗? 编辑:我也用过这种方式
var table_html=encodeURIComponent(table_div.outerHTML);
但还是会出现同样的错误。
【问题讨论】:
-
不回答您的问题,但您可以使用
encodeURIComponent()而不是自己替换特殊字符。 -
我想进入无限循环
-
@Arun Killu:只有一次调用此函数并且我刚刚将表格下载为 .xls 文件,那么无限循环在哪里?
-
@user1181940 对我来说你的代码运行良好
-
@Arun Killu:此代码也适用于我,但问题是当表中的数据过多时,如表中的 500 行,则会显示如上所示的错误页面
标签: javascript xls