我目前有一个 Javascript 函数,它通过 div ID 将我的 AngularJS JSON 数据表导出到一个 .csv 文件,如下所示:
$scope.exportToExcel = function (tableId) { // ex: '#my-table'
var exportHref = Excel.tableToExcel(tableId, 'WireWorkbenchDataExport');
$timeout(function () { location.href = exportHref; }, 100); // trigger download
}
我这样称呼
<button style="float: right;" class="btn btn-link" ng-click="exportToExcel('#codeProjectsTable')" filename="test.csv">
<span class="glyphicon glyphicon-share"></span>
Export table
</button>
这适用于约 400 条记录或更少(每条记录 20 列)的数据集,但我正试图导出近 1,000 条记录以供进一步报告,我只是被定向到 about:blank 页。
我怀疑是
- 无法导出这么大的文件
- 由于请求过长而超时
提前致谢。
最佳答案
我使用以下逻辑导出
var fileName = 'users_export_' + moment().format('YYYY-MM-DD') + '.csv';
var url = URL.createObjectURL(new Blob([response.data]));
var a = document.createElement('a');
a.href = url;
a.download = fileName;
a.target = '_blank';
a.click();
它适用于大型文件/数据
关于javascript - 将 AngularJS 表导出到 .CSV,指向大约 :blank page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49618180/