'Ich habs jetzt anders gemacht (wie du gesagt hattest). Ich danke die schon mal für den guten Tipp und die Hilfe
Delphi-Quellcode:
procedure TMainframe.ExportToExcel(Sender: TObject);
var i,j: Integer;
ExcelApp: OLEVariant;
const
xlWBATWorksheet = -4167;
xlWBATChart = -4109;
begin
try
ExcelApp := GetActiveOleObject('Excel.Application');
except
try
// If no instance of Word is running, try to Create a new Excel Object
ExcelApp := CreateOleObject('Excel.Application');
except
ShowMessage('Cannot start Excel/Excel not installed ?');
Exit;
end;
end;
ExcelApp.Workbooks.Add(xlWBatWorkSheet); // Add a new Workbook, Neue Arbeitsmappe öffnen
for I := 0 to ListView1.Columns.Count - 1 do
ExcelApp.Cells[1,i+1].Value:=ListView1.Column[i].Caption;
for I := 0 to ListView1.Items.Count - 1 do
for j := 0 to ListView1.Columns.Count - 1 do begin
If j = 0
then ExcelApp.Cells[i+2,j+1].Value:=ListView1.Items[i].Caption
else ExcelApp.Cells[i+2,j+1].Value:=ListView1.Items[i].SubItems[j-1];
end;
ExcelApp.Visible := True;
end;
Trotzdem wüsste ich für die Zukunft gern, wie man ein Worksheet verbindet.