Доброе время суток!
Господа, не подскажете, как выйти из ситуации.
Делаю так
var
i,j: integer;
Excel:olevariant;
WorkSheet,ArrayData,range: Variant;
Excel := CreateOleObject(xlsAppName);
Excel.Workbooks.open(OpenDialog1.FileName);
WorkSheet := Excel.Workbooks[1].WorkSheets[1];
Excel.EnableEvents := false; //отключаем обработку событий в Excel
Excel.visible:=false;
ArrayData := VarArrayCreate([1,worksheet.UsedRange.Columns.count,1,worksheet.UsedRange.Rows.count], varVariant);
Range := WorkSheet.Range[worksheet.cells[1,1], worksheet.cells[worksheet.UsedRange.rows.count,worksheet.UsedRange.columns.count] ];
ArrayData:=Range.value;
for J := 1 to worksheet.UsedRange.Columns.count do
for i := 1 to worksheet.UsedRange.Rows.count do
StringGrid1.Cells[j,i]:=VarToStr(ArrayData[i,j]);//заполняем таблицу
Excel.Workbooks.Close;
Excel.Quit;
except
end;
Беда в том, что вариантный массив заполняется из Excel`я быстро, а вот таблица немного медленно.