AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Text File Einlesen und als Excel ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Text File Einlesen und als Excel ausgeben

Ein Thema von Andidreas · begonnen am 11. Jul 2006 · letzter Beitrag vom 18. Jul 2006
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Text File Einlesen und als Excel ausgeben

  Alt 11. Jul 2006, 13:49
Datenbank: Excel • Zugriff über: AdoConnection (???)
hi @ all,

folgendes problem...
ich hab eine txt datei die ich mir erst mal schön strukturieren tu...
jetzt möchte ich sie dann noch in ein excel ausgeben...

weiß jemand wie des am einfachsten geht???

im forum hab ich schon bischen gesucht... und hab eigentlich nur denn hinweis gefunden das ich dafür die adoconnection am besten nehmen sollte....

hatt jemand für des was ich suche vielleicht ein kleines bsp.???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Text File Einlesen und als Excel ausgeben

  Alt 11. Jul 2006, 14:23
Imho kann man Excel via ComServer ansprechen, was aber ein installiertes Excel voraussetzt.

Alternativ könntest du nach Komponenten (Torry) suchen, die das Excel-Format nativ verstehen.
Probier mal "ARExcelReport". Es könnte etwas sein, was dir hilft. (Ich selbst habe es aber noch nicht probiert.)
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Text File Einlesen und als Excel ausgeben

  Alt 11. Jul 2006, 15:15
.. und wenn alle Stricke reißen - den Text als csv Datei speichern.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: Text File Einlesen und als Excel ausgeben

  Alt 11. Jul 2006, 15:23
wie vorhin schon geschrieben hab ich im forum bereits nach beispielen gesucht wo eine verbindung zwischen delphi und excel hergestellt wurde mittels adoconnection


in diesem beispiel
hier hab ich folgenden kommentar gefunden:
Zitat:
nimm eine TADOConnection und eine TADOTable.
Damit kannst du jede Excel Arbeitsmappe öffnen
im bsp. wurde gesagt das man als provider den Microsoft.Jet.OLEDB4.0 nehmen soll...

das hab ich bei mir auch gemacht, nur kann ich damit keine .xls dateien öffnen, sondern nur .mdb dateien

hat jemand ne idee was ich falsch mache???
hier mein connection string

adoconnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=U:\Programmierung\LOG\Router_Tab\Excel\RoutTab_20060711.xls;Persist Security Info=False' wenn ich des so mach kommt immer die meldung das ich ein falsches format verwende...
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: Text File Einlesen und als Excel ausgeben

  Alt 11. Jul 2006, 15:44
eine angabe hat gefehlt Extendet Properties=Excel 8.0

sollte man vielleicht dazu sagen, dieser wert wenn man denn connection string über die ide aufbaut, das dieser wert nur auf dem letzten tabellen reiter angegeben werden kann!!!!!
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Text File Einlesen und als Excel ausgeben

  Alt 13. Jul 2006, 09:24
so wie oben schon beschrieben, versuch ich ja gerade ein text file in ein excel auszugeben...

die connection zum excel hab ich jetzt hinbekommen, aber ich kann leider jetzt nicht die tabellen namen meines excels feststellen, bzw. ich kanns schon, aber nicht so wie ich es möchte

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
strFileFrom, strFileTo : TFileStream;
sDate,sFromDir, sToDir : String;
sSheets : TStrings;

begin

  //Create .xls with Name = Date
  sDate := FormatDateTime('yyyymmdd', Date);
  sFromDir := '..\Excel\Template\Template.xls';
  sToDir := '..\Excel\' +sDate+ '.xls';

  strFileFrom := TFileStream.Create(sFromDir, fmOpenRead);

  Try
    strFileTo := TFileStream.Create(sToDir, fmCreate);
    Try
      strFileTo.CopyFrom(strFileFrom, strFileFrom.Size);
    Finally
      strFileTo.Free;
    End;
  Finally
    strFileFrom.Free;
  End;

  //AdoConnection String
  AdoConnection1.Connected := False;
  AdoConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
                                     'Data Source=' + sToDir + ';' +
                                     'Extended Properties=Excel 8.0;' +
                                     'Persist Security Info=False';
  AdoConnection1.Open;

  //WorkSheets in ListBox auslesen
  {AdoConnection1.GetTableNames(ListBox1.Items);}
  AdoConnection1.GetTableNames(sSheets);

  //Work with WorkSheet
  AdoTable1.Connection := AdoConnection1;
  {AdoTable1.TableName := '[' +ListBox1.Items[0]+ ']';}
  AdoTable1.TableName := '[' +sSheets.Names[1]+ ']';
  AdoTable1.Active := True;

  ShowMessage(AdoTable1.TableName);

end;
AdoConnection1.GetTableNames verlangt als Parameter einen TStrings, hab ich ja auch angelegt, wenn ich mir jetzt aber die tabellen namen einlesen lassen will, dann bringt er folgenden fehler(siehe bild)
wenn ich mir des ganze aber in ne ListBox (befehle sind kommentiert) ausgeben lass dann gehts...

hat jemand vielleicht ne idee warums ausgerechnet net mit der TStrings Variable geht???
Angehängte Grafiken
Dateityp: jpg fehler_566.jpg (99,3 KB, 25x aufgerufen)
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
andreash

Registriert seit: 22. Jun 2006
Ort: Dörverden
60 Beiträge
 
Delphi 7 Professional
 
#7

Re: Text File Einlesen und als Excel ausgeben

  Alt 18. Jul 2006, 14:31
Hallo Andidreas,
meines Erachtens können nur von TStrings abgeleitete Klassen wie TStringList oder Klassen, die TStrings verwenden, wie TListbox, Zeichenketten speichern. Deklariere sSheets als TStringList, dann sollte es funktionieren.
Andreas
Der Optimist glaubt, wir leben in der besten aller möglichen Welten. Der Pessimist befürchtet, daß das stimmt.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: Text File Einlesen und als Excel ausgeben

  Alt 18. Jul 2006, 14:50
Zitat von andreash:
meines Erachtens können nur von TStrings abgeleitete Klassen wie TStringList oder Klassen, die TStrings verwenden, wie TListbox, Zeichenketten speichern. Deklariere sSheets als TStringList, dann sollte es funktionieren.
Nah dran. Stimmt so nicht ganz. Die TStrings ist einfach nur abstrakt. Wenn du nur die Funktionalität brauchst (also die Schnittstelle), aber nicht festlegen möchtest ob es eine TStringList oder eine THashedStringList oder oder oder ist, dann sagst du, dass du ein TStrings Objekt verwendest. Was intern gemacht wird ist dir egal, solange die Schnittstelle stimmt.

Aber dein Problem ist, du legst nie eine Instanz an. Versuch es mal damit, kannst den Typ TStrings lassen, das ist ok!

Zitat von Andidreas:
Delphi-Quellcode:

  sSheets := TStringList.Create;
  AdoConnection1.GetTableNames(sSheets);
Gruß Der Unwissende
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz