溫馨提示×

Delphi怎么獲取html表格中的數據

小億
196
2023-12-01 19:17:20
欄目: 編程語言

可以使用Delphi的TWebBrowser組件來獲取HTML表格中的數據。

首先,在Delphi的Form中放置一個TWebBrowser組件,并設置其Align屬性為alClient,這樣可以使其鋪滿整個Form。

然后,在代碼中使用TWebBrowser的Navigate方法加載HTML文件或者URL,如:

procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Navigate('http://www.example.com/table.html');
end;

接下來,在WebBrowser的DocumentCompleted事件中,可以使用TWebBrowser的Document屬性來獲取HTML文檔對象,然后通過其接口來獲取表格數據。

假設HTML中的表格有id屬性為"myTable",可以使用以下代碼獲取表格數據:

procedure TForm1.WebBrowser1DocumentCompleted(Sender: TObject; const pDisp: IDispatch; const URL: OleVariant);
var
  HTMLDoc: IHTMLDocument2;
  Table: IHTMLElement;
  Rows: IHTMLElementCollection;
  Row: IHTMLElement;
  Cell: IHTMLElement;
  i, j: Integer;
begin
  HTMLDoc := WebBrowser1.Document as IHTMLDocument2;
  Table := HTMLDoc.getElementById('myTable') as IHTMLElement;
  Rows := Table.getElementsByTagName('tr') as IHTMLElementCollection;

  for i := 0 to Rows.length - 1 do
  begin
    Row := Rows.item(i, EmptyParam) as IHTMLElement;
    for j := 0 to Row.cells.length - 1 do
    begin
      Cell := Row.cells.item(j, EmptyParam) as IHTMLElement;
      ShowMessage(Cell.innerText);
    end;
  end;
end;

以上代碼將會逐行逐列地遍歷表格,使用ShowMessage函數顯示每個單元格的內容。你可以根據自己的需求進行進一步的處理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女