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