Thema: Delphi XLS in CSV

Einzelnen Beitrag anzeigen

Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: XLS in CSV

  Alt 20. Feb 2013, 13:06
Ich habe mir das mal so umgestrickt, wie ich es mir wünsche, aber leider funktioniert das noch nicht.

Delphi-Quellcode:
procedure XLStoCSV;
var S: String;
    XLSStringlist: TStringlist;
    i, j: Integer;
begin
  XLSStringlist:=TStringlist.Create;
  try
    with PatBehandlungData.conADO do
      begin
        Connected:=False;
        ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                          Dateiname +'; Mode=Read;'                      +
                          'Extended Properties="Excel 8.0;HDR=Yes";'     +
                          'Persist Security Info=False';
        Connected:=True;
      end;

    with PatBehandlungData.qryAdo do
      begin
        Active:=False;
        SQL.Clear;
        SQL.Add('SELECT * FROM ['+ExtractFileName(Dateiname)+'] WHERE ID IS NOT NULL');
        Active:=True;
        Open; //HIER knallt es
      end;

    for i := 0 to PatBehandlungData.qryAdo.RecordCount-1 do
      begin
        S:='';
        for j := 0 to PatBehandlungData.qryAdo.FieldCount - 1 do
          begin
            if S<>'then S:=S+';';
            S:=S+PatBehandlungData.qryAdo.Fields[j].AsString;
          end;
        XLSStringlist.Add(S);
      end;
  finally
    Dateiname:=ExtractFilePath(Dateiname)+ChangeFileExt(ExtractFileName(Dateiname),'csv');
    XLSStringlist.SaveToFile(Dateiname);
    XLSStringlist.Free;
  end;
Als Fehlermeldung kommt:
Code:
Erste Gelegenheit für Exception bei $7C812FD3. Exception-Klasse EOleException mit Meldung 'Das Microsoft Jet-Datenbankmodul konnte das Objekt 'Rheuma 4.Quartal 2011_versandt.xls' nicht finden. Stellen Sie sicher, dass das Objekt existiert und dass die Namens- und Pfadangaben richtig eingegeben wurden'. Prozess ExportExcel.exe (1140)
Die Datei existiert auf jeden Fall, weil ich einmal den Dateinamen aus dem JvFilenameEdit auslese und das dann die Variable "Dateiname" ergibt. Es dürfte ja dann auch vorher keine Connection entstehen, oder?
Status:
- FIAE
- Rechteinhaberin, ein Rüsselmops sein zu wollen
  Mit Zitat antworten Zitat