27. november 2001 - 09:31
Der er
7 kommentarer og
1 løsning
Excel
Jeg har egentlig spurt om noget lignende i java script afdelingen, men efter at have læst her, har jeg fundet ud af at det nok var her jeg skulle spørge.
Jeg ønsker at exportere nogle data til et excel regneark og har også delvis løst problemet på flg måde:
\' -- Tell the browser the data is a Comma Separated Values List (CSV)
response.ContentType=\"application/csv\"
\' -- Tell the browser to associate a file name with the data
Response.AddHeader \"Content-Disposition\", \"filename=TIOS Statistikk.csv;\"
Response.write(\",Avgang fra udgangsstasjon,,,,,Ankomst til endestasjon,,,,\")
Response.write vbNewLine
Response.write(\"Tognr, 0 Min; 1-5 Min, 6-15 Min, 16-30 Min, >30 Min, 0-3 Min, 4-5 Min, 6-15 Min, 16-30 Min, >30 Min\")
og det virker jo også fint sålænge clienten bruger et komma som list separator, Jeg har dog forsøgt om man kunne få lov at læse list separatoren i registreringsdatatbsen på clienten, for at kunne bruge den i stedet for,men har kunne konstatere at det må man ikke. Jeg kunne så bede brugeren om at specificere sin List separator, men den tror jeg ikke ret mange anmindelig bruger kender.
Så det jeg ønsker er en løsning hvor jeg specificere den enkelte celle i regnearket og ligger værdien deri,
i stedet for at levere data som en separet liste.
Eller andre gode forslag.
mvh johnny
27. november 2001 - 13:33
#4
Tak for svarene
De 2 første generer excel på serveren og distibuere til clienten, også render jeg vist ind i nogle rettighedsproblemer. Men nr 3 var næsten det jeg skulle bruge, jeg kan nu indsætte data ligesom i en tabel. men jeg har ikke mulighed for på client siden at gemme xls filen lokalt, kan man det
mvh Johnny
29. november 2001 - 05:02
#5
Jeg har lavet noget, som jeg tror du kan bruge, men det er tid til at se dyner. Hvis du stadig mangler det i morgen (i dag) smider jeg lidt kode...
29. november 2001 - 17:39
#6
Jeg har \"anonymiseret\" denne lidt, men hvis du indsætter din egen connectionstring og SQL statement, kan du udskrive et udtræk fra en database som en Excel fil på klienten. Det kræver ikke Excel på serveren, men naturligvis hos klienten. Browseren vil som udgangspunkt spørge om filen skal åbnes eller gemmes på disken, men dette kan afvige afhængig af brugerens indstillinger.
<%@ Language=VBScript %>
Response.ContentType = \"application/vnd.ms-excel\"
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
Conn.Open \"MyConnectionString\"
sql = \"SELECT * FROM Table\"
RS.Open sql, Conn
if not RS.EOF then
Response.Write(\"<TABLE>\")
Response.Write(\"<TR>\")
for each item in RS.Fields
Response.Write(\"<TH align=left bgcolor=gray>\" & item.name & \"</TH>\" & vbcrlf)
next
Response.Write(\"</TR>\")
end if
Do While Not RS.EOF
Response.Write(\"<TR>\" & vbcrlf)
for each item in RS.Fields
if item.type = 200 then
Response.Write(\"<TD nowrap align=left>=T(\"\"\" & item.value & \"\"\")</TD>\" & vbcrlf)
else
Response.Write(\"<TD nowrap align=left>\" & item.value & \"</TD>\" & vbcrlf)
end if
next
RS.MoveNext
Response.Write(\"</TR>\" & vbcrlf)
Loop
Response.Write(\"</TABLE>\" & vbcrlf)
if rs.State <> 0 then rs.Close
if Conn.state <> 0 then Conn.Close
%>