procedure ReadExcelFile(const FileName: string; AMemtable: TFDmemtable);
var
ExcelApp: OleVariant;
Sheet: OleVariant;
Range: OleVariant;
RowCount, ColCount, i, j: Integer;
Data: Variant;
begin
ExcelApp := CreateOleObject('Excel.Application');
try
ExcelApp.Workbooks.Open(FileName);
Sheet := ExcelApp.ActiveSheet;
Range := Sheet.UsedRange;
RowCount := Range.Rows.Count;
ColCount := Range.Columns.Count;
AMemtable.FieldDefs.Clear;
for j := 1 to ColCount do
AMemtable.FieldDefs.Add(Range.Cells[1, j].Value, ftString, 255);
AMemtable.CreateDataSet;
for i := 2 to RowCount do
begin
AMemtable.Append;
for j := 1 to ColCount do
begin
Data := Range.Cells[i, j].Value;
AMemtable.Fields[j - 1].AsString := VarToStr(Data);
end;
AMemtable.Post;
end;
finally
ExcelApp.Quit;
Sheet := Unassigned;
ExcelApp := Unassigned;
end;
end ;