|
Передача данных в Еxcel
Существует масса способов передать данные в Excel, начиная с DDE и заканчивая обычным
присваиванием (типа Cell.Value := NewValue ). Рассмотрим наиболее простые из них.
В одну ячейку
ISheet := IExcel.ActiveSheet as Excel8_TLB._Worksheet;
ISheet.Range['A1', 'A1'].Value := 'Delphi & Microsoft Excel';
ISheet.Range['B1', 'B1'].Value := 42;
Данные в группу ячеек
ISheet.Range['C3', J42'].Formula := '=RAND()';
Вы можете обращаться к ячейкам листа по номеру строки и столбца или через переменные,
подобно этому:
var
Row, Col: integer;
...
ISheet.Cells.Item[1, 1].Value := 'текст в ячейку A1';
ISheet.Cells.Item[Row, Col].Value := 'куда-то еще';
Внимание - подробнее здесь!
Если вы хотите подробно изучить данную тему и ее тонкости, прочтите статью
"По волнам интеграции... III"
Поиск данных на листе
Пример поиска и выделения красным всех ячеек, содержащих строку
(или подстроку) "Text"
var
ISheet: Excel8TLB._Worksheet;
UsedRange, Range: OLEVariant;
FirstAddress: string;
...
ISheet := IWorkbook.Worksheets.Item['Лист1'] as Excel8_TLB._Worksheet;
UsedRange := ISheet.UsedRange[xlLCID];
Range := UsedRange.Find(What:='Text', LookIn := xlValues, SearchDirection := xlNext);
if not VarIsEmpty(Range) then begin
FirstAddress := Range.Address;
repeat
Range.Interior.ColorIndex := 37;
Range := UsedRange.FindNext(After := Range);
until FirstAddress = Range.Address;
end;
|