AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Inhald eines DBGrid nach Excel exportieren ?
Thema durchsuchen
Ansicht
Themen-Optionen

Inhald eines DBGrid nach Excel exportieren ?

Ein Thema von Vader · begonnen am 17. Jun 2006 · letzter Beitrag vom 11. Okt 2006
Antwort Antwort
Seite 3 von 3     123   
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 18. Jun 2006, 19:01
Was soll ich dazu sagen? Bei mir funktioniert das...

Ist den FieldCount > 0?
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#22

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 18. Jun 2006, 20:07
hallo,

bin dort auch rausgekommen,wo kann ich da nachschauen ob FieldCount > 0 ist ?
mfg vader
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#23

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 21. Jun 2006, 16:39
hallo,

könnte wer den code propieren ob der bei euch funktioniert !!

Delphi-Quellcode:
procedure DBGridToExcel(DBGrid:TDBGrid; StartSpalte, StartZeile:integer);
type TSpalten = array[1..256] of string;

  function CreateSpalten:TSpalten;
  var i, j, x:integer;
      abbruch:boolean;
  begin
    x:=1;
    abbruch:=false;
    j:=0;
    while (j <= 26) and not abbruch do begin
      i:=1;
      while (i <= 26) and not abbruch do begin
        if j = 0 then
          Result[x]:=chr(i+64)
        else
          Result[x]:=chr(j+64)+chr(i+64);
        inc(i);
        inc(x);
        abbruch:=(x > 256);
      end;
      inc(j);
    end;
  end;

var Excel:TExcelApplication;
    i, Zeile, lcid:integer;
    Workbook:_Workbook;
    Sheet, Zelle, Inhalt:Variant;
    Spalten:TSpalten;
begin
  if assigned(DBGrid)
     and assigned(DBGrid.DataSource)
     and assigned(DBGrid.DataSource.DataSet) then
  begin
    if DBGrid.DataSource.DataSet.Active then begin
      Excel:=TExcelApplication.Create(nil);
      try
        lcid:=GetUserDefaultLCID;
        Excel.Connect;
        Excel.Visible[lcid]:=true;
        Excel.UserControl:=true;

        Workbook:=Excel.Workbooks.Add(EmptyParam, lcid);

        Spalten:=CreateSpalten;
        Zeile:=StartZeile;
        for i:=1 to DBGrid.FieldCount do begin
          Inhalt:=DBGrid.Fields[i-1].DisplayName;
          Zelle:=Excel.Cells.Range[
            Spalten[i+StartSpalte-1]+inttostr(Zeile),
            Spalten[i+StartSpalte-1]+inttostr(Zeile)
          ];
          Zelle.Value:=Inhalt;
          Zelle.Font.Bold:=true;
        end;

        DBGrid.DataSource.DataSet.First;
        while not DBGrid.DataSource.DataSet.Eof do begin
          inc(Zeile);
          for i:=1 to DBGrid.FieldCount do begin
            Inhalt:=DBGrid.DataSource.DataSet.FieldByName(
              DBGrid.Fields[i-1].FieldName
            ).AsString;
            Zelle:=Excel.Cells.Range[
              Spalten[i+StartSpalte-1]+inttostr(Zeile),
              Spalten[i+StartSpalte-1]+inttostr(Zeile)
            ];
            Zelle.Value:=Inhalt;
          end;
          DBGrid.DataSource.DataSet.Next;
        end;

        Sheet:=Workbook.ActiveSheet;
        Sheet.Columns[
          Spalten[StartSpalte]+':'+Spalten[StartSpalte+DBGrid.FieldCount]
        ].EntireColumn.AutoFit;

      finally
        Excel.Disconnect;
        Excel.free;
      end;
    end;
  end;
end;


aufruf


DBGridToExcel(DBGrid, 1, 1); mfg vader
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#24

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 23. Jun 2006, 09:44
hallo,
kann keiner das testen

mfg vader
  Mit Zitat antworten Zitat
Elkos

Registriert seit: 27. Sep 2006
10 Beiträge
 
#25

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 4. Okt 2006, 10:49
Hallo !

DBGridToExcel funktioniert einwandfrei !
Ich hab nur festgestellt, daß in Delphi 5 die Property Range_ und nicht Range heisst.

Danke !

Gruß
Elkos
  Mit Zitat antworten Zitat
Haeger23

Registriert seit: 11. Okt 2006
10 Beiträge
 
#26

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 11. Okt 2006, 14:05
Hallo allerseits,

also bei mir kommt beim Ausführen der Procedure ...

"DBGridToExcel(DBGrid,1,1);"

.... die Fehlermeldung:

---------------------------
Project1
---------------------------
Klasse nicht registriert.
---------------------------
OK
---------------------------

und zwar an der Stelle

Delphi-Quellcode:
.
.
.
Excel.Connect;
.
.
.
Und das obwohl ich die Units (OleServer, ExcelXP und/oder Excel2000) mit in die Uses aufgenommen habe.

Hat jemand eine Idee was ich falsch mache?
  Mit Zitat antworten Zitat
Haeger23

Registriert seit: 11. Okt 2006
10 Beiträge
 
#27

Re: Inhald eines DBGrid nach Excel exportieren ?

  Alt 11. Okt 2006, 14:08
Ohh mein Gott ... sorry eure Zeit gestohlen zu haben. Ob ich an diesem Rechner wohl mit OO arbeite und somit gar kein MS Excel installiert habe ?!!!

.. sowas ist mir noch nie passiert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 18:40 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