
31.03.2017, 17:09
|
Прохожий
|
|
Регистрация: 30.03.2017
Сообщения: 9
Версия Delphi: Delphi 2007
Репутация: 10
|
|
Есть два листа в excel. в одну таблицу гружу данные с листа 1, во вторую с листа 2 (правда вторая таблица должна быть на второй форме по заданию)
Безымянный.png Безымянный1.png
вот код как добавляю данные в stringgrid:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
sg.RowCount:=2;
vex:=CreateOleObject('Excel.Application');
if OpenDialog1.Execute then
begin vex.Workbooks.Open(opendialog1.FileName);
end;
Sheet:= Vex.workbooks[1].Sheets.Item['Лист1'];
i:=1;
while (copy(sheet.cells[i+1,1],1,1)<>'') do begin
Sg.Cells[0,i]:=sheet.cells[i+1,1];
Sg.Cells[1,i]:=sheet.cells[i+1,2];
Sg.Cells[2,i]:=sheet.cells[i+1,3];
Sg.Cells[3,i]:=sheet.cells[i+1,4];
Sg.Cells[4,i]:=sheet.cells[i+1,5];
i:=i+1;
Sg.RowCount:=sg.RowCount+1;
end;
Sg.RowCount:=sg.RowCount-1;
end;
и для второй таблицы
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
sg1.RowCount:=2;
vex:=CreateOleObject('Excel.Application');
if OpenDialog1.Execute then begin vex.Workbooks.Open(opendialog1.FileName);
end;Sheet:= Vex.workbooks[1].Sheets.Item['Лист2'];
i:=0;
while (copy(sheet.cells[i+1,1],1,1)<>'') do begin
Sg1.Cells[0,i]:=sheet.cells[i+1,1];
Sg1.Cells[1,i]:=sheet.cells[i+1,2];
i:=i+1;
Sg1.RowCount:=sg1.RowCount+1;
end;
Sg1.RowCount:=sg1.RowCount-1;
end;
|