Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Listview Inhalt als *.xls für Excel abspeichern

  Alt 4. Dez 2008, 10:42
Hallo DP,

Ich betrete mal wieder Neuland, diesmal möchte ich den Inhalt einer Listview als *.xls abspeichern.
Ich nutze Codegear Delphi for Microsoft Windows 2007.

Folgende Komponenten befinden sich auf meinem Formular:

ExcelApp: TExcelApplication
ExcelOLEObject1: TExcelOLEObject
Erfassungsdaten: TExcelWorksheet
ExcelWorkbook1: TExcelWorkbook

Auto Connect ist FALSE
und ConnectKind ist: ckRunningOrNew

Bevor ich mich an die Listview wage, wollte ich zunächst mal ganz simpel ein Wort in Zeile1, Spalte1 einfügen. Das ist der Code dafür:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
flcid:integer;
Filename:String;
begin
 SaveDialog.Execute;

    case SaveDialog.FilterIndex of
      1: Filename := ChangeFileExt(SaveDialog.FileName,'.xls');
      2: Filename := ChangeFileExt(SaveDialog.FileName,'.xls');
    end;

    if Filename <> 'then
      begin
        try
          flcid:=GetUserDefaultLCID;
          ExcelApp.Connect;
          ExcelApp.Visible[flcid]:=true;
          ExcelApp.UserControl:=true;
        Except
          //fehler ausgeben
        end;

        CreateFile(@Filename[1], 0, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);

        ExcelWorkbook1.ConnectTo(ExcelApp.Workbooks.Open(filename, False,
        False, EmptyParam, '', False, False, EmptyParam, EmptyParam, false, false,
        EmptyParam, EmptyParam, EmptyParam, false, 0));
        Erfassungsdaten.ConnectTo(ExcelWorkbook1.Sheets.Item[1] as ExcelWorkSheet);

        ExcelApp.Cells[1, 1] := 'TESTEINTRAG';

      end;

   //Aufräumen
   ExcelApp.Quit;
end;
Das funktioniert nicht ganz denn es erscheint ein Fehler: [DCC Fehler] Unit1.pas(220): E2149 Klasse besitzt keine Standardeigenschaft

Bei der Zeile: ExcelApp.Cells[1, 1] := 'TESTEINTRAG';

Gemäß Suchfunktion wird aber genau diese Zeile für das Eintragen in einem Excelsheet genutut. Wo liegt denn da der Fehler?
  Mit Zitat antworten Zitat