【问题标题】:Download XLS files automatically from a website从网站自动下载 XLS 文件
【发布时间】:2012-02-23 17:21:57
【问题描述】:

如何自动从网站下载 XLS 文件? 我的客户输入用户名和密码登录网站,然后我需要一个一个下载 XLS 文件列表并将它们保存到一个路径中。文件链接位于 html 表中。 需要你们的帮助

【问题讨论】:

  • 我已经尝试了一个 IMACROS 脚本,但是这个脚本并不完美。

标签: c# javascript html web xls


【解决方案1】:

您可以通过以下方式执行此操作... 浏览器行为不同,但您可以通过一个操作启动多个文件的下载。我认为这是您在浏览器中可能拥有的最佳解决方案。

您可以创建一组临时隐藏的 iframe,通过 GET 或 POST 在其中启动下载,等待下载开始并删除 iframe:

<!DOCTYPE HTML>
<html>
<body>
  <button id="download">Download</button> 

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script type="text/javascript">

     $('#download').click(function() {
       download('http://nogin.info/cv.doc','http://nogin.info/cv.doc');
     });

     var download = function() {
       for(var i=0; i<arguments.length; i++) {
         var iframe = $('<iframe style="visibility: collapse;"></iframe>');
         $('body').append(iframe);
         var content = iframe[0].contentDocument;
         var form = '<form action="' + arguments[i] + '" method="GET"></form>';
         content.write(form);
         $('form', content).submit();
         setTimeout((function(iframe) {
           return function() { 
             iframe.remove(); 
           }
         })(iframe), 2000);
       }
     }      

  </script>
</body>
</html>

【讨论】:

    【解决方案2】:

    一种廉价且简单的方法是设置 Web 浏览器控件并使用它登录。您现在拥有该站点的凭据。然后,让一个按钮触发每个 XLS 文件的 URI,使用相同的上下文打开,然后保存到驱动器。

    您实际上可以对用户隐藏控件。

    由于您似乎可以控制该站点,因此我还会考虑使用不同的方法来提供这些位,例如 WCF 服务。

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 2022-01-23
      • 2011-06-23
      • 2020-11-23
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多