Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Excel (Import/Export) (https://www.delphipraxis.net/4605-excel-import-export.html)

dopeline 6. Mai 2003 09:28


Excel (Import/Export)
 
Hallo!

Ich will eine Tabelle (StringGrid) nach Excel exportieren (also die Tabelle in einer Exceldatei abspeichern und diese automatisch mit excel öffnen)

und wenn es möglich ist, auch die einträge aus einer exceldatei importieren.

Wie mache ich das?

Grüße, dopeline :dancer:

Specialwork 6. Mai 2003 10:23

Hallo Dopeline,

Ich habe mal ein Beispiel erstellt, mit dem man ein Excelsheet erstellen und mit Daten versorgen kann.

Excelsheets füllen

Gruß, Tom

dopeline 7. Mai 2003 07:58

Uff! geht das nicht einfacher? excel muss doch beim export gar nicht geöffnet werden. die tabelle ein meinem adressbuch-programm soll einfach nur (mit nem savedialog) irgentwo als xls gespeichert werden.

Jelly 7. Mai 2003 08:46

Du kannst sehr leicht über ADO auf Excel Dateien zugreifen. In deinem Fall besonders geeignet da es sich um eine Tabellenstruktur handelt.

Der Connectionstring sieht so aus:
Code:
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=%s;
Extended Properties= "Excel 8.0;
HDR=Yes";
Persist Security Info=False;
Persist Security Info=False
Mit SQL Befehl "Create Table" kannst du deine Tabelle erzeugen und wie gewohnt mit Daten füllen.

Gruss,
Tom

r_kerber 7. Mai 2003 11:24

Hallo,

es geht auch indem Du die Daten in eine csv-Datei schreibst und diese dann mit Excel öffnest.

dopeline 7. Mai 2003 15:01

und wie mache ich das?
(bin newbie, was delphi angeht :oops: )

r_kerber 7. Mai 2003 18:06

z.B. so:
Delphi-Quellcode:
var
  F: TextFile;
begin
  AssignFile(F, 'datei.csv');      
  Rewrite(F);
  Writeln(F, Format('%i,%d', IntegerWert, DezimalWert]));
  ...                      
  CloseFile(F);
end;

ssach 7. Mai 2003 18:07

also hier ist ein Code zum speichern von stringgrids in eine csv datei, konnte sie nochnicht testen, werde dies aber im abend noch tun:

Delphi-Quellcode:
procedure TForm1.BtnSaveClick(Sender: TObject);
var
R, C : integeR;
S : string;
begin
   for R := 0 to sg.RowCount - 1 do
      begin
         S := '';
         for C := 0 to sg.ColCount - 1 do
            S := S + sg.Cells[C,R] + ';';
         delete(S,length(S),1);  //loescht den ueberfluessigen ;
         lb.Items.Append(S);
      end;

   lb.Items.SaveToFile('Exell.csv');
end;
hoffe konnte helfe, cu

dopeline 7. Mai 2003 19:54

danke! das sollte funktionieren.
ich hab versucht, das mit nem savedialog zu machen, funktioniert aber nicht :( .

Wie stelle ich das an?

ssach 7. Mai 2003 20:08

hier die version mit nem savedialog, du musst solchen nur auf deine form ziehen, nenne h savedialog dann kannst du denn code komplett kopieren!

Delphi-Quellcode:
procedure TForm1.BtnSaveClick(Sender: TObject);
var
R, C : integeR;
S : string;
begin
* *for R := 0 to sg.RowCount - 1 do
* * * begin
* * * * *S := '';
* * * * *for C := 0 to sg.ColCount - 1 do
* * * * * * S := S + sg.Cells[C,R] + ';';
* * * * *delete(S,length(S),1);* *//loescht den ueberfluessigen ;
* * * * *lb.Items.Append(S);
* * * end;
   if SaveDialog.Execute then
* *   lb.Items.SaveToFile(SaveDialog.Filename); //filename ist der pfad
end;
um noch die endung csv hinzubekommen musst du im objekt inspektor vom savedialog bei filters einfach eine option mit *.csv eingeben! hast du noch probleme gib bescheid! wenn du willst kann ich dir die prozedur zum laden von csv dateien in delphi gib auch bescheid!

cu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr.
Seite 1 von 3  1 23      

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