Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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 "|"

Geschrieben

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.

Geschrieben

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...

Geschrieben

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.

Geschrieben
<%'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

Geschrieben

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() 

%>

Geschrieben

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...