Einzelnen Beitrag anzeigen

renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Einige Tausend Daten an Excel Übergeben

  Alt 11. Mai 2007, 05:58
Hallo,

Ich habe ein kleines Problem.

Ich will ca. 3000 Datensätze in Excel reinschreiben jeweils pro Zeile ca. 5 Werte.

Wenn ich nun ein Excel Workbook öffne weil ich eine Vorgabe habe dann dauert es Verdammt lang 1-2 Stunden .

Delphi-Quellcode:
     try
      begin
        XApp:=CreateOleObject('Excel.Application');
        XApp.Visible:=true;
      end;
    except
      showmessage('Unable to link with MS Excel, it seems as it is not installed on this system.');
      exit;
    end;

     XApp.Workbooks.Open(ExtractFilePath(ParamStr(0))+'Inventur.xls');
//Einfügen

for r:=1 to 500-1 do
    begin
        // sheet.Cells[row,col]:='55';
         XApp.Cells[r,1]:='Typ:';
         XApp.Cells[r,2]:='Bezeichnung: ';
         XApp.Cells[r,3]:='Bezeichnung: ';
         XApp.Cells[r,4]:='Bezeichnung: ';
         XApp.Cells[r,5]:='Bezeichnung: ';
         XApp.Cells[r,6]:='Bezeichnung: ';
         XApp.Cells[r,7]:='Bezeichnung: ';
         XApp.Cells[r,8]:='Bezeichnung: ';

end;
Wenn ich wiederum ein Excel generiere und ein Workbook adde und dann nur das Sheet dazu anspreche ,also keine Vorhandene Datei dann ist es Verdammt Schnell.

Delphi-Quellcode:
 try
      begin
        XApp:=CreateOleObject('Excel.Application');
        XApp.Visible:=true;
      end;
    except
      showmessage('Unable to link with MS Excel, it seems as it is not installed on this system.');
      exit;
    end;

    XApp.WorkBooks.Add(-4167); //open a new blank workbook
    XApp.WorkBooks[1].WorkSheets[1].Name:='Sheet1';
    //give any name required to ExcelSheet
     sheet:=XApp.WorkBooks[1].WorkSheets['Sheet1'];

//Einfügen
   for r:=1 to 200-1 do
    begin
        // sheet.Cells[row,col]:='55';
         sheet.Cells[r,1]:='Typ:';
         sheet.Cells[r,2]:='Bezeichnung: ';
         sheet.Cells[r,3]:='Bezeichnung: ';
         sheet.Cells[r,4]:='Bezeichnung: ';
         sheet.Cells[r,5]:='Bezeichnung: ';
         sheet.Cells[r,6]:='Bezeichnung: ';
         sheet.Cells[r,7]:='Bezeichnung: ';
         sheet.Cells[r,8]:='Bezeichnung: ';
    end;

Weiß jemand einen Weg wie ich das mit dem Vorhandenen XLS File auch schnell hinbekomme?

danke
  Mit Zitat antworten Zitat