Kategorien:
Suchbegriffe:
Suchfelder:
Suche starten
Neue Beiträge / Top 7
Alle Artikel / Liste
Bücher zu ASP/ASP.Net
Startseite / Hilfe
Fragen zu ASP/ASP.NET
Datenschutzrichtlinen
Impressum / Kontakt
Das ASP.Net Codebook. Die unentbehrliche Referenz für alle ASP.Net-Entwickler [Autoren: Stefan Falz, Karsten Samaschke]
Active Server Pages-FAQ
Active Server Pages - FAQ (v. 1.50) © 2000 - 2020 by Stefan Falz Webconsulting

GetFile! Dynamischer Dateiupload im Browser

Datenbankzugriffe Zurück Druckversion Stefan Falz 05.04.2002
Frage: Wie kann ich per ASP eine Exceldatei als Datenbank verwenden?
Desöfteren kommt es vor, dass man ein Excelsheet als Datenbank verwenden muss,
etwa weil ein Kunde seine Daten in diesem Format schickt und man diese Daten dann
weiterverarbeiten muss.

Nachfolgend ein Beispiel zur Verwendung einer Exceldatei. Im Gegensatz zu vielen
anderen Beispielen wird hier allerdings nicht die JetEngine zur Herstellung der Datenbank-
verbindung verwendet, sondern der Treiber für Excel selbst. Die JetEngine hat mit dem
Auslesen von Excelsheets ein paar Probleme.

Das Beispiel liest alle Spalten und die vorhandenen Datensätze aus und gibt diese in
einer Tabelle aus.

[list_excel.asp]
<%
' --- Zusammenstellen der Verbindungsinformationen
Dim strDriver
    strDriver    = "DRIVER=Microsoft Excel-Treiber (*.xls);"
Dim strDatabase
    strDatabase  = "DBQ=" & Server.MapPath("./customer.xls") & ";"
Dim strComplete
    strComplete  = strDriver & strDatabase


' --- Deklarieren und Erstellen des Connectionobjekts
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open strComplete


' --- Zusammenstellen des SQL-Statements Tabelle1 ist hier der Name des Arbeitsblatts
' --- $ ist das Trennzeichen zwischen dem Namen der Tabelle (in Excel Arbeitsblatt) und
' --- den Spalten, die selektiert werden sollen. Da die Spalten in Excel A, B, C, ... benannt
' --- werden, muss entsprechend auch der Bereich so definiert werden.
Dim sqlCommand
    sqlCommand = "SELECT * FROM [Tabelle1$A:D]"

' --- Öffnen des Recordsets
    Set objRS = Server.CreateObject("ADODB.Recordset")
        objRS.Open sqlCommand, objConn
    
            ' --- Ausgabe der Überschrift
            Response.Write "<table border=""1"">" & vbCrLf

            Response.Write "<tr>" & vbCrLf
            
            ' --- Ausgabe der Spaltennamen
            For Each col in objRS.Fields
                Response.Write "<td>" & col.Name & "</td>" & vbCrLf
            Next
            
            Response.Write "</tr>" & vbCrLf
            
            Do While Not objRS.EOF

                Response.Write "<tr>" & vbCrLf

                ' --- Ausgabe der Inhalte
                For Each col in objRS.Fields
                    Response.Write "<td>" & col & "</td>" & vbCrLf
                Next
                objRS.MoveNext

                Response.Write "</tr>" & vbCrLf

            Loop
            
            Response.Write "</table>" & vbCrLf

    ' --- Schliessen und terminieren des Recordsets
        objRS.Close
    Set objRS = Nothing
    
    ' --- Schliessen und terminieren der Datenbankverbindung
        objConn.Close
    Set objConn = Nothing
%>




Auch hier haben wir Ihnen die verwendeten Dateien als Zipfile zum Download bereitgestellt.

artikel_116.zip [3 KB]

Sehr gut
1 2 3 4 5 6
Ungenügend
Zurück | Bisherige Aufrufe: 20512 | Bisherige Bewertungen: 29 | Durchschnitt: 1,52
Stefan Falz Webconsulting