Import z Excela

0

Chce zaimportowac dane z excela..Prosze o pomoc bo nie wiem jak zrobic aby otwieral plik excela ktory podam mu w OpenDialogExcel

var
Excel,sheet,zasieg : OleVariant;
  i : integer;
begin
  OpenDialogExcel.Execute;

  Excel := CreateOleObject('Excel.Sheet');
  sheet := Excel.ActiveSheet;
  for i:=1 to 42 do
  begin

ListView1.Items[i-1].Caption  :=      sheet.Cells[i,1];
ListView1.Items[i-1].SubItems[0] :=   sheet.Cells[i,2];// :=
ListView1.Items[i-1].SubItems[1] :=   sheet.Cells[i,3];// := ListView1.Items[i-1].SubItems[1];
ListView1.Items[i-1].SubItems[2] :=   sheet.Cells[i,4] ;//:= ListView1.Items[i-1].SubItems[2];
ListView1.Items[i-1].SubItems[3] :=   sheet.Cells[i,5];// := ListView1.Items[i-1].SubItems[3];
ListView1.Items[i-1].SubItems[4] :=   sheet.Cells[i,6];// := ListView1.Items[i-1].SubItems[4];
ListView1.Items[i-1].SubItems[5] :=   sheet.Cells[i,7];// := ListView1.Items[i-1].SubItems[5];
ListView1.Items[i-1].SubItems[6] :=   sheet.Cells[i,8];// := ListView1.Items[i-1].SubItems[6];
ListView1.Items[i-1].SubItems[7] :=   sheet.Cells[i,9];// := ListView1.Items[i-1].SubItems[7];
ListView1.Items[i-1].SubItems[8] :=   sheet.Cells[i,10];// := ListView1.Items[i-1].SubItems[8];
ListView1.Items[i-1].SubItems[9] :=   sheet.Cells[i,11];// := ListView1.Items[i-1].SubItems[9];
ListView1.Items[i-1].SubItems[10] :=   sheet.Cells[i,12];// := ListView1.Items[i-1].SubItems[10];
ListView1.Items[i-1].SubItems[11]  :=  sheet.Cells[i,13];// := ListView1.Items[i-1].SubItems[11];
ListView1.Items[i-1].SubItems[12] :=   sheet.Cells[i,14];// := ListView1.Items[i-1].SubItems[12];
    //sheet.Cells[i+1,15] := ListView1.Items[i-1].SubItems[13];
ListView1.Items[i-1].SubItems[14] :=  sheet.Cells[i,15];// := ListView1.Items[i-1].SubItems[14];
ListView1.Items[i-1].SubItems[15] :=   sheet.Cells[i,16];// := ListView1.Items[i-1].SubItems[15];
ListView1.Items[i-1].SubItems[16] :=   sheet.Cells[i,17];// := ListView1.Items[i-1].SubItems[16];
ListView1.Items[i-1].SubItems[17] :=   sheet.Cells[i,18];// := ListView1.Items[i-1].SubItems[17];
ListView1.Items[i-1].SubItems[18] :=   sheet.Cells[i,19];// := StrToFloat(ListView1.Items[i-1].SubItems[18]);
ListView1.Items[i-1].SubItems[19] :=   sheet.Cells[i,20];// := ListView1.Items[i-1].SubItems[19];
ListView1.Items[i-1].SubItems[20] :=   sheet.Cells[i,21];// := ListView1.Items[i-1].SubItems[20];
ListView1.Items[i-1].SubItems[21] :=   sheet.Cells[i,22];// := StrToFloat(ListView1.Items[i-1].SubItems[21]);
ListView1.Items[i-1].SubItems[22] :=   sheet.Cells[i,23];// := ListView1.Items[i-1].SubItems[22];
ListView1.Items[i-1].SubItems[23] :=   sheet.Cells[i,24];// := ListView1.Items[i-1].SubItems[23];
ListView1.Items[i-1].SubItems[24] :=   sheet.Cells[i,25];// := ListView1.Items[i-1].SubItems[24];
ListView1.Items[i-1].SubItems[25] :=   sheet.Cells[i,26];// := ListView1.Items[i-1].SubItems[25];
ListView1.Items[i-1].SubItems[26] :=   sheet.Cells[i,27];// := ListView1.Items[i-1].SubItems[26];
ListView1.Items[i-1].SubItems[27] :=   sheet.Cells[i,28];// := ListView1.Items[i-1].SubItems[27];
ListView1.Items[i-1].SubItems[28] :=   sheet.Cells[i,29];// := ListView1.Items[i-1].SubItems[28];
ListView1.Items[i-1].SubItems[29] :=   sheet.Cells[i,30];// := ListView1.Items[i-1].SubItems[29];
ListView1.Items[i-1].SubItems[30] :=   sheet.Cells[i,31];// := ListView1.Items[i-1].SubItems[30];
ListView1.Items[i-1].SubItems[31] :=   sheet.Cells[i,32];// := ListView1.Items[i-1].SubItems[31];
ListView1.Items[i-1].SubItems[32] :=   sheet.Cells[i,33];// := ListView1.Items[i-1].SubItems[32];
ListView1.Items[i-1].SubItems[33] :=   sheet.Cells[i,34];// := ListView1.Items[i-1].SubItems[33];
ListView1.Items[i-1].SubItems[34] :=  sheet.Cells[i,35];// := ListView1.Items[i-1].SubItems[34];
ListView1.Items[i-1].SubItems[35] :=  sheet.Cells[i,36];// := ListView1.Items[i-1].SubItems[35];
ListView1.Items[i-1].SubItems[36] :=  sheet.Cells[i,37];// := ListView1.Items[i-1].SubItems[36];
ListView1.Items[i-1].SubItems[37] :=   sheet.Cells[i,38];// := ListView1.Items[i-1].SubItems[37];
ListView1.Items[i-1].SubItems[38] :=   sheet.Cells[i,39];// := ListView1.Items[i-1].SubItems[38];
ListView1.Items[i-1].SubItems[39] :=   sheet.Cells[i,40];// := ListView1.Items[i-1].SubItems[39];
ListView1.Items[i-1].SubItems[40] :=   sheet.Cells[i,41];// := ListView1.Items[i-1].SubItems[40];
ListView1.Items[i-1].SubItems[41] :=   sheet.Cells[i,42];// := ListView1.Items[i-1].SubItems[41];
ListView1.Items[i-1].SubItems[42] :=  sheet.Cells[i,43];// := ListView1.Items[i-1].SubItems[42];
ListView1.Items[i-1].SubItems[43] :=   sheet.Cells[i,44];// := ListView1.Items[i-1].SubItems[43];
ListView1.Items[i-1].SubItems[44] :=   sheet.Cells[i,45];// := ListView1.Items[i-1].SubItems[44];
ListView1.Items[i-1].SubItems[45] :=   sheet.Cells[i,46];// := ListView1.Items[i-1].SubItems[45];
ListView1.Items[i-1].SubItems[46] :=   sheet.Cells[i,47];// := ListView1.Items[i-1].SubItems[46];
ListView1.Items[i-1].SubItems[47] :=   sheet.Cells[i,48];// := StrToFloat(ListView1.Items[i-1].SubItems[47]);
ListView1.Items[i-1].SubItems[48] :=   sheet.Cells[i,49];// := ListView1.Items[i-1].SubItems[48];

 end;
   Sheet.Application.Visible := False;
   //Sheet.OpenAs(OpenDialogExcel.FileName); //FULL PATH !!!
   Sheet.Application.Quit;
0
niao napisał(a)

ListView1.Items[i-1].Caption := sheet.Cells[i,1];
[...]
</delphi>

Na poczatku byl Chaos. A potem Bog wynalazl petle :D

0

ale o co chodzi..to jest dobrze..przeciez sobie tak czytam chyba dobrze..i -> wiersz,numer -> kolumna
To zrobilem na razie tak zeby po prostu sprawdzic czy mi czyta i nie czyta...wylacza sie..a chcialem to ladnie do listview zapisac..
Prosze o jakos pomoc...
Chodzi i o to jak program ma wiedziec z ktorego pliku korzysta i z ktorego arkusza..
Artykuł na 4P mi nie pomogl :(

0

ok..po kilkunastu godzinach buszowaniu w sieci i jeszcze wiecej godzinach studiowaniu Helpa udalo sie!! D;)..
Oto przykladowy...nie caly kod:

OpenDialogExcel.Execute;
  Excel := CreateOleObject('Excel.Application');
  Excel.Workbooks.Open(OpenDialogExcel.Filename);
  for i:=1 to StrToInt(InputBox('Importowanie z MS Excel', 'Podaj ilość iportowanych rekordów','')) do
  begin
ListItem := ListView1.Items.Add;
ListItem.Caption := IntToStr(Excel.Cells[i+1,1].Value);
ListItem.SubItems.Add(Excel.Cells[i+1,2].Value);
ListItem.SubItems.Add(Excel.Cells[i+1,3].Value);
ListItem.SubItems.Add(Excel.Cells[i+1,4].Value);
ListItem.SubItems.Add(Excel.Cells[i+1,5].Value);
...

generalnie to proste to bylo :/..
pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1