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 12.01.2001
Frage: Wie kann ich Daten aus einer Datenbank in ein Excelsheet exportieren (ohne Excel)?
Sie möchten Ihren Usern die Möglichkeit geben, Daten aus einer Datenbank als Excelsheet
downzuloaden. Dummerweise ist Excel auf dem Server nicht installiert und den Weg über
CSV-Dateien möchten Sie aus gewissen Gründen nicht gehen.

Kein Problem, denn die Microsoft Jet Engine kann auch das lösen. Nachfolgend sehen
Sie ein Beispielskript, mit dem Sie Daten aus einer Access-Datenbank in ein Excelsheet
exportieren können. Sollte das Excelsheet noch nicht existieren, wird automatisch eine
neue Datei angelegt. Am Ende der Seite können Sie dann einen Link auf diese Datei setzen
um einen Download zu ermöglichen.


[exporttoexcel.asp]
<%
' --- Zusammenstellen der Datenbankverbindungsinformationen
Dim strProvider
    strProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
Dim strDatabase
    strDatabase = "DATA SOURCE=" & Server.MapPath ("./") & "\mdb_test.mdb;"
Dim strComplete
    strComplete = strProvider & strDatabase

' --- Öffnen der Datenbankverbindung
Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.open strComplete

' --- Angeben des Dateinamens des Excelsheets inkl. Pfadangabe.
Dim xls_path
    xls_path = Server.MapPath("./") & "\xls_test.xls"

' --- Es wird ein Export aller Daten aus der Access Tabelle "tblTest"
' --- in das Datenblatt "tabImport" der Exceldatei durchgeführt.
' --- Die doppelten und 3-fachen Anführungszeichen werden benötigt.
' --- Der fertige SQL-String sieht dann folgendermassen aus:
' --- SELECT * INTO [tabImport] IN "C:\inetpub\wwwroot\xls_test.xls" "EXCEL 5.0;" FROM tblTest
' --- Das sieht zwar etwas konfus aus, funktioniert aber einwandfrei.
    SQL = "SELECT * INTO [tabImport] IN """ & xls_path & """ ""EXCEL 5.0;"" FROM tblTest"

' --- Ausführen des SQL-Statements
    objConn.Execute SQL
  
' --- Schliessen und terminieren der Datenbankverbindung.
    objConn.Close
Set objConn = Nothing
%>

Sehr gut
1 2 3 4 5 6
Ungenügend
Zurück | Bisherige Aufrufe: 24457 | Bisherige Bewertungen: 57 | Durchschnitt: 2,07
Stefan Falz Webconsulting