AzAron Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 Hi @ all. ich habe folgendes Problem. Ich würde gerne die Ausgabe einer Tabelle aus einer SQL Datenbank in Exel importieren das sollte per Link funktionieren. Das ganze läuft so ab. Der User gibt auf der Site in der Searchmaske seinen Begriff ein. Dann bekommt er seine Ausgabe der Daten im Tabellenformat auf der Webpage. Nun sollte über der Tabelle ein Link "export to exel" stehen mit dem ich diese flexiblen Daten in Exel einfüge. Ich habe schon eine Lösung die aber nur auf Active X läuft und es sollte aber ohne Active X laufen. Könnt ihr mir weiterhelfen. mfg AzA
U-- °LoneWolf° Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 eine einfach und saubere lösung wäre eine csv datei. diese kann der anwender dann in excel öffnen bzw. importieren. Das spart dir das rumhantieren mit ole bzw. active x den eine csv datei kann man eigentlich immer erstellen
AzAron Geschrieben 27. Januar 2005 Autor Geschrieben 27. Januar 2005 hmmm hab ich noch nich mit gearbeitet... erzähl mir mehr ... mfg AzA
kills Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 eine CSV Datei ist ganz einfach eine Komma getrennte datei. Bsp: Markus,63741,Aschaffenburg, AzAron,63563,Städtten, U[[ °LoneWolf°,11223,Hamburg, Als trennzeichen verwendet man meist aber besser das semikolon ";" oder "|"
U-- °LoneWolf° Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 also eine csv datei ist im grunde volgender massen aufgebaut. zelle;zelle;zelle;zelle;zelle;zelle;zelle;zelle; Die Spalten werden durch ; getrennt. Die Zeilen durchzeilen umbrüche zelle;zelle;zelle;zelle;zelle;zelle;zelle;zelle; zelle;zelle;zelle;zelle;zelle;zelle;zelle;zelle; zelle;zelle;zelle;zelle;zelle;zelle;zelle;zelle; Es sollten (kein muss nur wegen der übersichtlichkeit) aber in jeder zeile die gleiche anzahl Semikolons geben (Spalten) ALso gege. zelle;zelle;zelle;zelle;;zelle;zelle;zelle; zelle;;;zelle;zelle;zelle;zelle;zelle; zelle;zelle;zelle;;zelle;zelle;zelle;zelle; Dise kannst du dann in Excel importieren bzw. öffnen.
AzAron Geschrieben 27. Januar 2005 Autor Geschrieben 27. Januar 2005 und wie erstelle ich nun so ein cvs file automatisch... da die ausgaben der datenbank ja nie gleich sind je nach searchkriterium ändert sich die länge etc...
U-- °LoneWolf° Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 du hast doch deine schleifen für die ausgabe? Wenn ja machst du halt paralel zur ausgabe auf dem monitor eine ausgabe in eine datei. (Weis leider grade nicht mehr wie das funzt bzw. hab den source nicht im kopf). irgendwas mit write.file oder so
kills Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 ich würd einfach bei druck auf den Link die gleiche Abfrage nochmal ausführen, und das resultset anstatt auszugeben, dann halt in ein CSV file schreiben.
AzAron Geschrieben 27. Januar 2005 Autor Geschrieben 27. Januar 2005 hast du vielleicht infos wo ich nen beispiel code herbekommen könnte...??? würde mir echt weiterhelfen... mfg AzA
kills Geschrieben 27. Januar 2005 Geschrieben 27. Januar 2005 sorry ich kann kein ASP Aber poste doch mal den code der die HTML Tabelle baut, dann können wir das bestimmt zusammen lösen
AzAron Geschrieben 27. Januar 2005 Autor Geschrieben 27. Januar 2005 <%'if Session("LoginBoole") = true then%> <% strSQL = "SELECT DISTINCT [contractno],[costctr],[adminbadge],[customer],[batno],[envt],[requesttype],[msgcode],[msgtype],[message],[action] FROM ort29a WHERE " strSQL2 = "" for each item in request.form if request.form(item) <> "" then strSQL2 = strSQL2 & item & " like '" & request.form(item) & "%' AND " end if next strSQL2 = left(strSQL2, len(strSQL2)-4) strSQL = strSQL & strSQL2 & "AND [envt]='prod' AND [requesttype]='migration' " '--- um den select Befehl anzeigen zu lassen 'response.write(strSQL) '--- rs2.open strSQL, conn, 3, 2 %> <table border="1" ID="InqList"> <tr> <td bgcolor="#C0C0C0"><B>Contract Number</B></td> <td bgcolor="#C0C0C0"><B>Cost Center</B></td> <td bgcolor="#C0C0C0"><B>Admin Badge</B></td> <td bgcolor="#C0C0C0"><B>Customer</B></td> <td bgcolor="#C0C0C0"><B>Bat Number</B></td> <td bgcolor="#C0C0C0"><B>Evnt</B></td> <td bgcolor="#C0C0C0"><B>Request Type</B></td> <td bgcolor="#C0C0C0"><B>Msg Code</B></td> <td bgcolor="#C0C0C0"><B>Msg Type</B></td> <td bgcolor="#C0C0C0"><B>Message</B></td> <td bgcolor="#C0C0C0"><B>Aktion</B></td> </tr> <% do until rs2.eof %> <tr> <td><%=rs2("contractno")%> </td> <td><%=rs2("costctr")%> </td> <td><%=rs2("adminbadge")%> </td> <td><%=rs2("customer")%> </td> <td><%=rs2("batno")%> </td> <td><%=rs2("envt")%> </td> <td><%=rs2("requesttype")%> </td> <td><%=rs2("msgcode")%> </td> <td><%=rs2("msgtype")%> </td> <td><%=rs2("message")%> </td> <td><%=rs2("action")%> </td> </tr> <% rs2.movenext loop %> so also oben ziehe ich die daten mit dem SQL String aus der DB. in der Mitte wird die HTML Tabelle aufgebaut und Unten bekommt die Tabelle die Daten über den Recordset. mfg AzA
kills Geschrieben 28. Januar 2005 Geschrieben 28. Januar 2005 Ohne jemals was mit ASP gemacht zu haben würd ich es so machen.... <%'if Session("LoginBoole") = true then%> <% strSQL = "SELECT DISTINCT [contractno],[costctr],[adminbadge],[customer],[batno],[envt],[requesttype],[msgcode],[msgtype],[message],[action] FROM ort29a WHERE " strSQL2 = "" for each item in request.form if request.form(item) <> "" then strSQL2 = strSQL2 & item & " like '" & request.form(item) & "%' AND " end if next strSQL2 = left(strSQL2, len(strSQL2)-4) strSQL = strSQL & strSQL2 & "AND [envt]='prod' AND [requesttype]='migration' " '--- um den select Befehl anzeigen zu lassen 'response.write(strSQL) '--- rs2.open strSQL, conn, 3, 2 Const ForReading = 1 Const ForWriting = 2 Const ForAppending = 8 filename = "temp.txt" path = Server.MapPath(".") & "\data\" & filename set fs = CreateObject("Scripting.FileSystemObject") set file = fs.OpenTextFile(path, ForWriting) file.WriteLine("Contract Number;Cost Center;Admin Badge;Customer;Bat Number;Evnt;Request Type;Msg Code;Msg Type;Message;Aktion") do until rs2.eof 'Overwrite a text file. file.WriteLine(rs2("contractno") & ";" & rs2("costctr") & ";" & rs2("adminbadge") & ";" & rs2("customer") & ";" & rs2("batno") & ";" & rs2("envt") & ";" & rs2("requesttype") & ";" & rs2("msgcode") & ";" & rs2("msgtype") & ";" & rs2("message") & ";" & rs2("action") ) rs2.movenext loop file.Close() %>
AzAron Geschrieben 28. Januar 2005 Autor Geschrieben 28. Januar 2005 nun wenn ich das richtig sehe wir der inhalt der suche dann gleich in die file importiert.... die ausgabe sollte aber erst auf dem browser geschehen und dann per link in eine file
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden