Показать сообщение отдельно
  #7  
Старый 31.03.2017, 17:09
nastyasrost nastyasrost вне форума
Прохожий
 
Регистрация: 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;
Ответить с цитированием