Aus einer Datenbank sollen Kontakte für das Outlook-Adressbuch in eine Text-Datei mit Hilfe eines ASP-Scriptes exportiert werden.
Meine Datei "impKopf.txt" beinhaltet die erste Zeile für die "import.txt". Diese kann nach der Generierung in Outlook importiert werden. Es handelt sich um eine einfache Textdatei, deren Daten mit Tabstop´s getrennt sind.
Beim Importieren der Kontakte muß also über "Datei importieren - tabulator getrennte Werte(Windows)" importiert werden.
Hier im Beispiel exportiere ich nur 3 Werte:
Vorname, Nachname, und Email-Adresse
Mit kleinen Code-Änderungen können natürlich auch noch mehr und/oder andere Werte exportiert werden.
Hier der Code für...
export.asp
1. Teil: Bestimmen eines Arrays
Das Array beiinhaltet den Namen der Spalte meiner DB-Tabelle und die Anzahl der Tabstop´s, die zwischen den Daten einfügt werden, um sie ins richtige Outlook-Format zu bringen.
<%@ Language=VBScript %> <% dim Arr(2,1) Arr(0,0) = "FirstName" : Arr(0,1) = 0 Arr(1,0) = "LastName" : Arr(1,1) = 1 Arr(2,0) = "Email" : Arr(2,1) = 51 |
2. Teil: öffnen der Datenbank und String-Generierung
set conn = server.CreateObject("ADODB.Connection") set rs = server.CreateObject("ADODB.Recordset") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:Inetpubwwwrootdeveloperdbkontakt.mdb;" strSQL = "SELECT FirstName, LastName, Email FROM Customers2" rs.Open strSQL, conn do while not rs.EOF '--------- Schleife zum Aufrufen der Spaltennamen for x = 0 to 2 '--------- Tabstop´s einfügen for i = 0 to Arr(x,1) strDaten = strDaten & vbTab next '--------- Daten dem String zu führen strDaten = strDaten & rs.Fields(Arr(x,0)) next '--------- Den Wert "Email: Angezeigter-Name" dem String hinzufügen strDaten = strDaten & vbTab & rs.Fields("FirstName") & " " & rs.Fields("LastName") strDaten = strDaten & vbCrLf '--------- zur nächsten Zeile der DB-Tabelle springen rs.MoveNext loop rs.Close set rs = nothing conn.Close set conn = nothing |
3. Teil: kontakt.txt erstellen
Hier wird die Kontakt.txt mit Hilfe des Scripting.FileSystemObjectes erstellt.
Const ForReading = 1 Const ForWriting = 2 set Datei = server.CreateObject("scripting.filesystemobject") '--------- Öffnen der Kopf-Datei(beiinhaltet die 1. Zeile der Outlook-Kompatibel-Datei) set leseDatei = Datei.OpenTextFile(server.MapPath("impKopf.txt"),ForReading) strErsteZeile = leseDatei.ReadLine leseDatei.close set leseDatei = nothing '--------- Schreiben der Kontakt.txt set schreibeDatei = Datei.CreateTextFile(Server.MapPath("kontakt.txt"),ForWriting) schreibeDatei.WriteLine strErsteZeile schreibeDatei.Write strDaten schreibeDatei.Close set schreibeDatei = nothing set Datei = nothing '--------- Aufrufen der kompletten Export-Datei Response.Redirect ("kontakt.txt") %> |
TIP!
Öffnen Sie die Text-Datei in Excel. Dann stimmen die Spalten vom Optischen her.
Unten gibt´s den Code mit DB zu downloaden. Have Fun!