将AngularJS表导出到.CSV,指向about:blank page?

时间:2018-04-02 20:15:51

标签: javascript mysql angularjs node.js excel

我目前有一个Javascript函数,它通过div ID将我的JSON数据的AngularJS表导出到.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条记录以进行进一步报告,我只是被定向到关于:空白页面。

我怀疑它是

  1. 无法导出此大文件
  2. 因长期请求而退出
  3. 提前致谢。

1 个答案:

答案 0 :(得分:0)

我使用以下逻辑导出

            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();

它适用于大型文件/数据