Avatar billede kennethv Nybegynder
06. januar 2010 - 11:02 Der er 5 kommentarer og
1 løsning

Hente data fra Excel 2007 via ADOQuery

Hej,

Jeg har fundet denne:

http://delphi.about.com/od/database/l/aa090903a.htm

men er dog stødt ind i et problem som er jeg ikke kan hente data fra excel.

Jeg har en excel 2007 dokument, hvor jeg på min første "Sheet1" har det der er i guiden. Når jeg prøver at bruge "SELECT * FROM [Sheet1$] bliver exception kaldt.

procedure TFrmMain.ConnectToExcel;
var strConn :  widestring;
begin
  strConn:='Provider=Microsoft.ACE.OLEDB.12.0;' +
          'Data Source=' + Edit2.Text + ';' +
          'Extended Properties="Excel 12.0 Xml;";Persist Security Info=False';

  AdoConnection1.Connected:=False;
  AdoConnection1.ConnectionString:=strConn;
  try
    AdoConnection1.Open;
    AdoConnection1.GetTableNames(ComboBox1.Items,True);
  except
    ShowMessage('Unable to connect to Excel, make sure the workbook ' + Edit2.Text + ' exist!');
    raise;
  end;
end;(*ConnectToExcel*)

procedure TFrmMain.FetchData;
begin
  StatusBar1.SimpleText:='';

  ConnectToExcel;

  AdoQuery1.Close;
  AdoQuery1.SQL.Text:=Edit3.Text;
  try
    AdoQuery1.Open;
  except
    ShowMessage('Unable to read data from Excel, make sure the query ' + Edit3.Text + ' is meaningful!');
    raise;
  end;
end;

procedure TFrmMain.Button1Click(Sender: TObject);
begin
  FetchData;
end;
Avatar billede snowball Novice
06. januar 2010 - 15:36 #1
Hvordan er du kommet frem til din ConnectionString?

Nu har jeg ikke selv Office 2007, men den ConnectionString der er nævnt i eksemplet på siden virker fint med Office 2003.
Avatar billede snowball Novice
06. januar 2010 - 15:42 #2
OK, har fundet den nu ;)

Men går det fint med at lave forbindelsen til Excel arket? Så det er først AdoQuery1.Open; der fejler?
Avatar billede kennethv Nybegynder
06. januar 2010 - 15:44 #3
Jeg fandt ud af at det ikke spillede med den der var i eksemplet, fordi jeg bruger excel 2007, så jeg søgte på google og denne kom frem:

http://www.connectionstrings.com/excel-2007#p84

Mit dokument har *.xlsx
Avatar billede kennethv Nybegynder
06. januar 2010 - 15:46 #4
Ja, det er korrekt, at det er ADOQuery1.Open der fejler.
Avatar billede kennethv Nybegynder
15. januar 2010 - 12:06 #5
Har fået løst dette.
Avatar billede snowball Novice
15. januar 2010 - 18:21 #6
Vil du være venlig at skrive løsningen? Det er jo ligesom det der er meningen med Eksperten ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester