Avatar billede totalpc Seniormester
12. april 2010 - 08:34 Der er 1 kommentar og
1 løsning

Fra excel til db

Hej

Jeg har et script der trækker data ud fra min access db og laver en excel fil. Kan man i ASP lave det modsatte? Altså at man angiver en excelfil og så smider den automatisk data ind i databasen? Forudsat at det er en klart defineret standard hvilke kolonner der skal være selvfølgelig.
Avatar billede totalpc Seniormester
12. april 2010 - 11:26 #1
Jeg har fundet nedenstående som dog ikke helt virker.
Jeg har en excelfil hvor der står:

Holdnr Navn Virksomhed

I databasen er der følgende felter

ID (autonr) Holdnr Navn Virksomhed

1. hvordan får jeg ID udfyldt? Skal det være med? Det er jo access autonummerering

2. Det eneste der sker når jeg kører det er at der står :
ID    Holdnr    Navn    Virksomhed    F5

På skærmen. Hvor kommer F5 fra og hvorfor sker der ikke mere?


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<%
'DECLARE THE ACCESS DATABASE CONNECTION
Dim rsAdd
Dim rsAdd_numRows

Set cn = Server.CreateObject("ADODB.Connection")
cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\Team-Emilie\stafet\stafet.mdb"
set rsAdd = Server.CreateObject("ADODB.Recordset")
rsAdd.ActiveConnection = cn
rsAdd.Source = "SELECT *  FROM Hold"
rsAdd.CursorLocation = 2
rsAdd.LockType = 3
rsAdd.Open()

rsAdd_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>IMPORT EXCEL FILE IN ACCESS DATABASE</title>
</head>
<body>
<%
Dim objConn, objRS, strSQL
Dim xIndex

'DECLARE THE EXCEL WORKSHEET CONNECTION
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=NO; "&_
    "Excel 8.0; DBQ=" & Server.MapPath("Holdnumre.xls") & "; "

'SET QUERY TO SELECT THE DATA CELLS FROM THE EXCEL WORKSHEET
'THIS CAN BE DONE IN VARIOUS DIFFERENT WAYS, BUT THIS WORKED
'FOR MY PURPOSE
strSQL = "SELECT * FROM A1:Q10000"

'EXECUTE THE QUERY TO THE EXCEL WORKSHEET
Set objRS=objConn.Execute(strSQL)
%>



<table border="0">
    <tr>
    <%
    'EXTRACT THE HEADER VALUES TO DISPLAY ON THE WEBPAGE
    For xIndex=0 To objRS.Fields.Count-1
      Response.Write("<th>" & objRS.Fields(xIndex).Name & "</th>")
    Next

    'ITERATE THROUGH THE EXCEL WORKSHEET AND UPDATE INTO THE ACCESS DATABASE
    'NOTE THE VALUE OF xIndex IS DIFFERENT FOR BOTH ACCESS AND EXCEL ARRAY
    'THIS IS TO TAKE IN ACCOUNT THE PRIMARY KEY VALUE FIELD IN ACCESS IF IT IS
    'SET TO AUTO NUMBER
    Do Until objRS.EOF
        If IsNull(objRS.Fields(0).Value) Then Exit Do
        rsAdd.AddNew
        Response.Write("<tr>")
        For xIndex=0 To objRS.Fields.Count-1
            curValue = objRS.Fields(xIndex).Value
            Response.Write("<td>" & objRS.Fields(xIndex).Value & "</td>")
            rsAdd.Fields(xIndex+1).Value = objRS.Fields(xIndex).Value
        Next
        Response.Write("</tr>")
        rsAdd.Update
        objRS.MoveNext
    Loop
    %>
    </tr>
</table>
</body>

</html>


<%
rsAdd.Close
Set rsAdd = Nothing
%>
Avatar billede totalpc Seniormester
12. april 2010 - 12:37 #2
Oprettet lige et spørgsmålet i et andet forum for excel eller vbscript
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows