用于在特定时间每天自动将HTML表格存储到Excel工作表的脚本

时间:2015-07-26 08:11:27

标签: javascript html excel

这个网站有一张桌子,我希望每天晚上18:00保存。进入以日期和时间命名的Excel工作表。

我不知道编程。我尝试通过谷歌和Stackoverflow挖掘,并能够弄清楚如何手动完成它,但我希望每天都这样做。 在这里,我将列出我使用互联网想出的程序,我希望自动化相同的程序。

我转到此webpage并单击inspect元素并获取表格的html代码(搜索" octable")。 获取表的HTML代码后,我使用JSFiddle在线运行此javascript以获取excel文件。



$(document).ready(function() {
    $("#btnExport").click(function(e) {
        //getting values of current time for generating the file name
        var dt = new Date();
        var day = dt.getDate();
        var month = dt.getMonth() + 1;
        var year = dt.getFullYear();
        var hour = dt.getHours();
        var mins = dt.getMinutes();
        var postfix = day + "." + month + "." + year + "_" + hour + "." + mins;
        //creating a temporary HTML link element (they support setting file names)
        var a = document.createElement('a');
        //getting data from our div that contains the HTML table
        var data_type = 'data:application/vnd.ms-excel';
        var table_div = document.getElementById('dvData');
        var table_html = table_div.outerHTML.replace(/ /g, '%20');
        a.href = data_type + ', ' + table_html;
        //setting the file name
        a.download = 'exported_table_' + postfix + '.xls';
        //triggering the function
        a.click();
        //just in case, prevent default behaviour
        e.preventDefault();
    });
});




我想在每个工作日的18:00自动完成所有这些步骤。有人可以帮我吗?如果可能,可以在远程服务器上运行相同的脚本,并将文件保存在云端,如谷歌驱动器或通过电子邮件发送到我的帐户?

P.S。:由于我是新来的,我没有足够的声誉来为这个问题添加图片:(

2 个答案:

答案 0 :(得分:0)

你可以使用像iMacros这样的宏来从源代码中提取并存储在excel中。你也可以使用python(如果你想编写脚本),拉取数据,也许使用像beautifulsoup这样的东西!

然后您可以使用任务计划程序(如果在Windows中)或其替代方法来执行脚本或宏!

答案 1 :(得分:0)

1)如果你不想深入了解代码,你可以使用imacro

2)你可以像这样使用perl:

script.pl:

use LWP::Simple;
my $url = 'http://example.com';
my $content = get $url;
##You can add all sorts of manipulations to the returned source
##You can use this method with more options like timeout and credentials 
my $outputPath = 'temp.csv';
open(my $fh, '>' , $outputPath) or die "could not open file '$outputPath' $! ";
print $fh . "\n" . localtime() . "," . $content;

你可以在一个无限循环中运行它,并在看到差异后立即保存副本,你可以解析页面的某些部分,你可以在某个时间使用Windows任务调度程序运行它'