Avatar billede curriculum Nybegynder
27. februar 2004 - 17:15 Der er 7 kommentarer

Hente arkdata

Er der nogen der har en kode liggende, som kan hente alle data fra et excel ark og vises i ASP. Her er koden jeg er kommet frem til, men den henter ikke alle data.

sheetName = "ark$"
filepath = "c:\test.xls"

Set ConE = Server.CreateObject("ADODB.Connection")
Connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
    "Data Source=" & filepath & ";" &_
    "Extended Properties=""Excel 8.0;HDR=Yes;"";"

ConE.Open Connectionstring
Set Com = Server.CreateObject("ADODB.Command")
Com.ActiveConnection = ConE
Com.CommandText = "SELECT * FROM [" & sheetName & "] "
Set Rec = Server.CreateObject("ADODB.Recordset")
Rec.Open Com,,1,1

While Not Rec.EOF
Response.write sheetName & ": " & Rec(1) & Rec(2) & "<br>"
Rec.MoveNext
Wend
Avatar billede nute Nybegynder
27. februar 2004 - 17:50 #1
sheetName = "ark$"
filepath = "c:\test.xls"

Set ConE = Server.CreateObject("ADODB.Connection")
Connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
    "Data Source=" & filepath & ";" &_
    "Extended Properties=""Excel 8.0;HDR=YES;FirstRowHasNames=0"";"

ConE.Open Connectionstring
Set Com = Server.CreateObject("ADODB.Command")
Com.ActiveConnection = ConE
Com.CommandText = "SELECT * FROM [" & sheetName & "] "
Set Rec = Server.CreateObject("ADODB.Recordset")
Rec.Open Com,,3,3

' Skriv ud headere
Response.Write( "<table border=""1""><tr>" )
For i = 0 To Rec.Fields.Count - 1
    Response.write "<td>" & Rec.Fields.Item(i).Name & "</td>"
Next

Rec.MoveFirst
'Skriv ud værdier
Response.Write("<tr>")
While Not Rec.EOF
    Response.Write("<td><table>")
  For j = 0 To Rec.Fields.Count - 1
      Response.write("<tr><td>" & Rec.Fields.Item(j).Value & "</td></tr>")
  Next
  Rec.MoveNext
  Response.Write("</table></td>" )
Wend
Response.write( "</tr></table>" )

/nute
Avatar billede curriculum Nybegynder
27. februar 2004 - 21:01 #2
nute: Jeg kan først teste koden på mandag..
Avatar billede nute Nybegynder
27. februar 2004 - 21:03 #3
det er oki ... jeg er her (forhåbentligiv) også på mandag ;o]

god weekend

/nute
Avatar billede curriculum Nybegynder
29. februar 2004 - 22:11 #4
Jeg har testet koden, og den giver det samme resultat som min kode.
Problemet er faktiskt, at koden udskriver de data som er mest af (integer eller string), hvis der er f.esk. (100065,E547389,476392) i rækkerne, så udskriver asp koden kun 100065,,476392 og ikke strengen.. hvorfor det..
Avatar billede nute Nybegynder
29. februar 2004 - 22:18 #5
nej, min kode gør ikke det samme som din kode (hvertfald ikke den kode du har postet). Min kode udskriver hele excel-arket i formatet:

Overskrift 1 | Overskrift 2 | Overskrift 3
------------------------------------------
Kolonne nr.1 | Kolonne nr.1 | Kolonne nr.1
------------------------------------------
Kolonne nr.2 | Kolonne nr.2 | Kolonne nr.2
------------------------------------------
Kolonne nr.3 | Kolonne nr.3 | Kolonne nr.3
------------------------------------------

jeg forstår ikke hvad du mener med "at koden udskriver de data som er mest af (integer eller string), hvis der er f.esk. (100065,E547389,476392) i rækkerne, så udskriver asp koden kun 100065,,476392 og ikke strengen"

der er ikke noget i koden der tester indholdet i en kolonne, så at koden "udskriver de data som er mest af" giver ingen mening for mig.
Avatar billede curriculum Nybegynder
01. marts 2004 - 17:19 #6
Den fungerer stadig ikke, jeg har forsøgt at indsætte disse data:
1
0777
06578
T567890
5
6
7
8
9

Så bliver der udskrevet:
1
5
6
7
8
9

Så de andre data bliver ikke udskrevet, desværre
Avatar billede nute Nybegynder
02. marts 2004 - 13:11 #7
hmm ... øv .... det kan jeg godt se nu :-| underligt ...

jeg testet på et ark, som jeg har vist for oven (Overskrift 1, Overskrift 2 osv) og det fungere "perfekt". Mon ikke det har noget med måden jeg hiver fat i cellerne på.

JEg har desværre ikke tid til at kigge på det lige nu, men jeg skal nok kigge på det i løbet af dagen

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