Avatar billede hanne-rk Nybegynder
19. april 2003 - 10:37 Der er 4 kommentarer og
1 løsning

hent data fra et excell dokument ?

kan jeg hente data fra et excell dokument på samme måde som fra en .mdb database ?

eller er der en let og hurtig måde hvorpå man  kan konvertere et regneark til en database ?
Avatar billede arne_v Ekspert
19. april 2003 - 10:51 #1
Ja. Der er ODBC (og formentlig også OLE DB) drivere
til Excel.
Avatar billede medions Nybegynder
19. april 2003 - 10:51 #2
Avatar billede hanne-rk Nybegynder
19. april 2003 - 12:26 #3
puha det ser lidt indviklet ud.

hvordan kan dette oversættes til at være fra en excel fil ?

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from database where ID = "&ID"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

= rs("resultat")

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
end if
%>
Avatar billede medions Nybegynder
19. april 2003 - 15:36 #4
I din excel fil skal øverste række indeholde navnet på feltet.

        A                        B
1    Fornavn            Efternavn
2    Anders              Hansen
3    Erik                  Jørgensen

Du skal markere det område som skal kunne læses fra ASP. Det markede område skal så tildeles et navn.
Marker områder A1:B3, gå op i menuen Indsæt -> Navn .. -> Definer… 
Definer et navn eks.vis myRange.

Generelt undgå æøå i feltnavne og det Defineret navn.
-----

Du kan komme i kontakt med excel filen fra asp ved hjælp af dette:

Set myConn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")

'Connect til Excel via ODBC driver. Angiv fil navnet, her hedder filen fil.xls
'DriverID=790 betyder Excel97
myConn.Open "Driver={Microsoft Excel Driver (*.xls)};READONLY=FALSE;DBQ="&Server.MapPath("fil.xls")&";DriverID=790"

'Du kan skrive * for at vælge alle felter, eller feltnavne for at vælge nogle udvalgte (Fornavn, Efternavn)
strSQL = "SELECT * FROM myRange"

'Hent data fra excel.
rs.Open strSQL,myConn

'Flyt til første record
rs.movefirst
'Udskriv alle record. EOF End of File, BOF Begining of File.
'Udskriv kun hvis der er noget i excel filen eller indtil alle er udskrevet
while not(rs.EOF OR rs.BOF)
  'Udskriv navn
  Response.Write "<br>Navn fra Excel filen : " & rs("Fornavn") & " " & rs("Efternavn")
  'Flyt til næste record
  rs.MoveNext
Wend

'Rydder pænt op efter os
rs.Close
myConn.Close
set rs=nothing
set myConn=nothing

//>Rune
Avatar billede medions Nybegynder
17. september 2003 - 22:10 #5
Thx 4 Poinz

//>Rune
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