使用Javascript导出CSV并显示进度条

Export CSV with Javascript and display progress bar

本文关键字:显示 Javascript 导出 CSV 使用      更新时间:2023-09-26

在生成CSV文件并通过ajax提供服务时,有没有办法显示进度条?由于数据库的原因,CSV文件需要一段时间才能生成,并且需要在屏幕上安装一个加载器,并在完成后将其隐藏。我希望这是ajax,或者在必要时保持在同一页面上。现在我在下面做这件事,但我不知道什么时候下载完文件以停止进度。

var iframe = document.createElement("iframe");
                iframe.src = (value.url);
                iframe.style.display = "none";
                document.body.appendChild(iframe);

如果我正确理解您的情况,当您收到请求时,您将在服务器端生成一个文件,将其保存到磁盘,然后从那里提供。如果这就是你正在做的事情,你有两个选择:

  1. 当您开始生成具有必须生成的总行数和当前已生成的行数的文件时,从生成代码中更新一些共享状态(memcached、redis、mongodb、sqlite数据库或文件)。向一个端点发出额外的ajax请求,该端点将为您提供该共享状态的当前值
  2. 将生成的CSV文件直接流式传输回客户端-除非获取数据占用大部分时间,否则这将导致下载对话框的出现速度更快,并且明显加快速度