从网站自动下载XLS文件

时间:2012-02-23 17:21:58

标签: c# javascript html web xls

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

2 个答案:

答案 0 :(得分:3)

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

您可以创建一组临时的隐藏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>

答案 1 :(得分:0)

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

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

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