Files
lazarus-ccr/components/fpspreadsheet/examples/read_write/htmldemo/htmlread_http.lpr

79 lines
1.7 KiB
ObjectPascal

{
htmlread_http.dpr
Demonstrates how to read a html file from the internet using the fpspreadsheet library.
}
program htmlread_http;
{$mode delphi}{$H+}
uses
Classes, SysUtils, LazUTF8, fphttpclient, fpstypes, fpsutils, fpspreadsheet, fpshtml;
var
MyWorkbook: TsWorkbook;
MyWorksheet: TsWorksheet;
i: Integer;
CurCell: PCell;
stream: TMemoryStream;
const
// url = 'http://unicode.e-workers.de/entities.php';
url = 'https://www.freepascal.org/docs.var';
begin
stream := TMemoryStream.Create;
try
// Get file from the internet
with TFPHttpClient.Create(nil) do
try
Get(url, stream);
finally
Free;
end;
// Parameters
HTMLParams.TableIndex := 0;
// Create the spreadsheet
MyWorkbook := TsWorkbook.Create;
try
MyWorkbook.Options := MyWorkbook.Options + [boReadFormulas];
MyWorkbook.ReadFromStream(stream, sfHTML);
MyWorksheet := MyWorkbook.GetFirstWorksheet;
// Write all cells with contents to the console
WriteLn('');
WriteLn('Contents of the first worksheet of the file:');
WriteLn('');
for CurCell in MyWorksheet.Cells do
begin
Write(
'Row: ', CurCell^.Row,
' Col: ', CurCell^.Col,
' Value: ', UTF8ToConsole(MyWorkSheet.ReadAsText(CurCell^.Row, CurCell^.Col))
);
if MyWorksheet.HasHyperlink(CurCell) then
Write(' Hyperlink: ', MyWorksheet.ReadHyperlink(CurCell).Target);
WriteLn;
end;
finally
// Finalization
MyWorkbook.Free;
end;
finally
stream.Free;
end;
{$IFDEF WINDOWS}
WriteLn;
WriteLn('Press ENTER to quit...');
ReadLn;
{$ENDIF}
end.