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
 
#7

AW: XLS in CSV

  Alt 21. Feb 2013, 06:15
So, sry für Doppelpost.

Ich habe das entsprechend noch geändert. Mein Quellcode sieht nun wie folgt aus.

Delphi-Quellcode:
procedure XLStoCSV;
var S: String;
    Tabellennamen, XLSStringlist: TStringlist;
    i, j: Integer;
begin
  XLSStringlist:=TStringlist.Create;
  Tabellennamen:=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;
        GetTableNames(Tabellennamen);
      end;

    with PatBehandlungData.qryAdo do
      begin
        Active:=False;
        SQL.Clear;
        SQL.Add('SELECT * FROM ['+Tabellennamen.Strings[0]+']');
        Active:=True;
        Open;
      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;
end;
Die WHERE-Klausel musste ich herausnehmen, weil immer wieder dort Exceptions kamen, egal ob auskommentiert mit -- oder nicht. Ich muss mal noch schauen, in wieweit sich das auswirkt, aber danke noch mal für die Hilfe.
Status:
- FIAE
- Rechteinhaberin, ein Rüsselmops sein zu wollen
  Mit Zitat antworten Zitat