在Excel中复制html表格

我必须编写一个定期读取网页的程序,并将该网页上的表格中的某些数据复制到Excel电子表格中。 我不知道从哪里开始,或者哪个编程语言适合这个项目。 我知道一点C ++和Matlab编程。 任何人都可以提供意见,指出我在正确的方向或build议开源项目,做类似的事情?

我可以使用wget(linux)或fget1(matlab)来下载网页,但是我不知道如何将这个网页源文件的某些数据保存到Excel中。

我会假设你有学习C#的空间。 由于您必须从网页中提取表格,因此需要特殊的库/框架来处理诸如Watin等网页浏览。 得到表后,这是保存到Excel电子表格的问题。 为了方便起见,你可以写一个CSV格式(逗号分隔文本)和Excel可以打开文件。 希望能帮助到你

我使用下面的代码vb.netparsing多个HTML表格从保存的网页到数据表(该表必须具有相同的结构)(使用Html-Agility-Pack)并将其保存到Xml文件:

Imports System.Net Public Sub ParseHtmlTable(byval HtmlFilePath as String) Dim webStream As Stream Dim webResponse = "" Dim req As FileWebRequest Dim res As FileWebResponse req = WebRequest.Create("file:///" & HtmlFilePath) req.Method = "GET" ' Method of sending HTTP Request(GET/POST) res = req.GetResponse ' Send Request webStream = res.GetResponseStream() ' Get Response Dim webStreamReader As New StreamReader(webStream) Dim htmldoc As New HtmlAgilityPack.HtmlDocument htmldoc.LoadHtml(webStreamReader.ReadToEnd()) Dim nodes As HtmlAgilityPack.HtmlNodeCollection = htmldoc.DocumentNode.SelectNodes("//table/tr") Dim dtTable As New DataTable("Table1") Dim Headers As List(Of String) = nodes(0).Elements("th").Select(Function(x) x.InnerText.Trim).ToList For Each Hr In Headers dtTable.Columns.Add(Hr) Next For Each node As HtmlAgilityPack.HtmlNode In nodes Dim Row = node.Elements("td").Select(Function(x) x.InnerText.Trim).ToArray dtTable.Rows.Add(Row) Next dtTable.WriteXml("G:\1.xml", XmlWriteMode.WriteSchema) End Sub 

之后将文件导入Excel

阅读本文将XML导入到excel中

希望能帮助到你