HtmlAgilityPack.HtmlWeb hw = new HtmlAgilityPack.HtmlWeb(); HtmlAgilityPack.HtmlDocument doc = hw.Load("C:\\Users\\u1\\Desktop\\test html.html"); HtmlAgilityPack.HtmlNode rootNode = doc.DocumentNode;//获取文档的根节点 // //*[@id="report1"]/tbody string xpath = "//*[@id='report1']/tbody"; HtmlAgilityPack.HtmlNode node = rootNode.SelectSingleNode(xpath);//获取表格 foreach (var script in node.Descendants("script").ToArray()) script.Remove(); foreach (var style in node.Descendants("style").ToArray()) style.Remove(); string innerText = node.OuterHtml;//到这里就是纯纯的表格了 var trNodes = node.SelectNodes("tr"); DataTable dt = new DataTable(); for (int i = 0; i < 100; i++) //给表格增长100个列 { DataColumn dc = new DataColumn(); dt.Columns.Add(dc); } foreach (var trnod in trNodes) //遍历行 { //dt.Rows.Add() DataRow dr = dt.NewRow(); var tdNodes = trnod.SelectNodes("td"); for (int i = 0; i < tdNodes.Count; i++) //遍历列 { dr[i] = tdNodes[i].InnerText; } dt.Rows.Add(dr); } // 全部的数据读取到了datatable 中