AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi und Excel

Ein Thema von juelin · begonnen am 9. Mai 2006 · letzter Beitrag vom 13. Mai 2006
 
juelin

Registriert seit: 9. Mai 2006
Ort: Mannheim
142 Beiträge
 
Delphi XE5 Professional
 
#1

Delphi und Excel

  Alt 9. Mai 2006, 11:38
Hallo zusammen,

vielleicht kann mir jemand helfen.

Ich möchte in Delphi 7 eine Excelfile lesen.
Das klappt auch mit folgendem Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var exzeile: integer;
  var exspalte: integer;
  var excol: integer;
  var exrow: integer;
  var exinp: string;
begin
  Label4.Caption:='Open EXCEL';
  Label4.Refresh;
  Label5.Caption:='';
  Label5.Refresh;
  ausfall:=0;
  try
    Excel:=CreateOleObject('Excel.Application');
  except
    ausfall:=1;
    Label5.Caption:='Fehler EXCEL';
    Label5.Refresh;
  end;
  if ausfall = 0 then
  begin
    Excel.Visible:=False;
    Excel.WorkBooks.Open('C:IMTGERNord-LBexamplesNLB_MR_03_2006DatendatenneuNLB_MR_03_2006_Anzahl_Clients_neu.XLS');
    Excel.Sheets['Clients'].Activate;
    Label5.Caption:=IntToStr(excol)+'/'+IntToStr(exrow);
    Label5.Refresh;
    exzeile:=1;
    exspalte:=1;
    while exzeile > 0 do
    begin
      while exzeile > 0 do
      begin
        exinp:=Excel.Cells[exzeile, exspalte].Value;
        if ((exinp = '') and (exspalte = 2)) then
        begin
          Label5.Caption:='Zeile/Spalte:'+IntToStr(exzeile)+'/'+IntToStr(exspalte)+' <'+exinp+'>';
          Label5.Refresh;
          exspalte:=exspalte + 1;
        end else begin
          if ((exinp = '') and (exspalte > 1)) then
          begin
            exspalte:=1;
            exzeile:=exzeile + 1;
          end else begin
            if ((exinp = '') and (exspalte = 1)) then
            begin
              exzeile:=0;
              exspalte:=0;
            end else begin
              Label5.Caption:='Zeile/Spalte:'+IntToStr(exzeile)+'/'+IntToStr(exspalte)+' <'+exinp+'>';
              Label5.Refresh;
              exspalte:=exspalte + 1;
            end;
          end;
        end;
      end;
    end;
    Excel.Workbooks.Close;
    Excel.Quit;
    Excel:=Unassigned;
  end;
end;
Nun meine Frage:
wie kann ich den Celltyp auslesen (Numeric, Text, Date, usw)
und wie kann ich festellen wieviele Rows und Columns im Sheet sind?

Vielleich kann mir jemand ein beispiel schicken

Danke und Gruss
Jürgen

[edit=sakura] [delphi]_tags, Mail besser via PM austauschen Mfg, sakura[/edit]
Jürgen Linder
  Mit Zitat antworten Zitat
 


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 10:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz