Toon posts:

ASP naar Excel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hier een script dat gegevens uit een database naar excel omzet.
Als ik een selectie maak in de database met een sessienaam krijg ik een error te zien (het bestand of pad bestaat niet, bestand kan in gebruik zijn door een ander programma of de naam van het werkboek dat ik probeer op te slaan is hetzelfde van een ander document met dezelfde naam van een ander document wat alleen lezen is.

Maar als ik de sessienaam verander naar de waarde van de sessie (keihard invoeren dus) geeft hij geen error.

Weet iemand her een oplossing voor.
Hieronder het script.

Alvast bedankt!
<%
name = session("Test")
response.ContentType="application/vnd.ms-excel"
'-- insert your database connection code here
set my_Conn = server.createobject("adodb.connection")
my_Conn.Open "DSN=divxplaza"
set rs = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT * FROM List where ID ="&name&" ORDER BY Title ASC;"
rs.Open sql,my_Conn,3,3
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#2B4C6D" class="bordheader" style="border-bottom: 1px solid Black; border-left: 1px solid Black; border-top: 1px solid Black;">Title</td>
<td bgcolor="#2B4C6D" class="bordheader" style="border-bottom: 1px solid Black; border-top: 1px solid Black;" align="center">Size</td>
<td bgcolor="#2B4C6D" class="bordheader" style="border-bottom: 1px solid Black; border-top: 1px solid Black;" align="center">Type</td>
<td bgcolor="#2B4C6D" class="bordheader" style="border-bottom: 1px solid Black; border-top: 1px solid Black;" align="center">Resolution</td>
<td bgcolor="#2B4C6D" class="bordheader" style="border-bottom: 1px solid Black; border-top: 1px solid Black;" align="center">Length</td>
<td bgcolor="#2B4C6D" class="bordheader" style="border-bottom: 1px solid Black; border-top: 1px solid Black; border-right: 1px solid Black;" width="50" align="center">URL</td>
</tr>

<%
IntI = 0
x = 0
For x = 1 to rs.recordcount
If rs.eof then
Exit For
Else

if intI = 0 then
CColor = "#CFDDE9"
else
CColor = "#D6D9B0"
end if
%>
<tr>
<td bgcolor="<%=CColor%>" style="border-left: 1px solid Black;" class="text"><%=rs("Title")%></td>
<td bgcolor="<%=CColor%>" align="center" class="text"> <%=rs("Size")%> </td>
<td bgcolor="<%=CColor%>" class="text" align="center"><%=rs("DivX")%></td>
<td bgcolor="<%=CColor%>" class="text" align="center"><%=rs("Xresolution")%> x <%=rs("Yresolution")%></td>
<td bgcolor="<%=CColor%>" class="text" align="center"><%=rs("Length")%></td>
<td bgcolor="<%=CColor%>" class="text" align="center" style="border-right: 1px solid Black;"><% if rs("URL") <> "" then %>
<a href="http://www.imdb.com/Title?<%=rs("URL")%>" target="_blank">URL</a>
<% end if %></td>
</tr>
<%
rs.MoveNext
intI = intI + 1
if intI = 2 then
intI = 0
end if
End if
next
%>
<tr>
<td style="border-left: 1px solid Black; border-top: 1px solid Black;" colspan="6">Generated by <a href="http://www.divxplaza.com" target= "_blank">http://www.divxplaza.com</a></td>
</tr>
</table>

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 13:41

Crazy D

I think we should take a look.

Op vrijdag 17 mei 2002 13:03 schreef BjorntobeWild het volgende:
Ik heb hier een script dat gegevens uit een database naar excel omzet.
Als ik een selectie maak in de database met een sessienaam krijg ik een error te zien (het bestand of pad bestaat niet, bestand kan in gebruik zijn door een ander programma of de naam van het werkboek dat ik probeer op te slaan is hetzelfde van een ander document met dezelfde naam van een ander document wat alleen lezen is.

Maar als ik de sessienaam verander naar de waarde van de sessie (keihard invoeren dus) geeft hij geen error.
Stom misschien, maar uh is je session wel gevuld? En zo ja, 100% gelijk aan de waarde die jij er handmatig inzet? (niet een spatietje teveel of zo?)

Exact expert nodig?


Verwijderd

Topicstarter
Ja, dat had ik al gecontrolleerd.
Helaas, is het probleem niet zo simpel op te lossen.
Hij laat na de error wel de pagina zien in excel, dus dat kan het ook niet zijn.
Denk eerder dat hij de sessie niet zo leuk vindt ofzo.

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Kan zijn dat ik iets mis, maar waar zit nu het Excel gedeelte in je Script??

Verwijderd

Op zaterdag 18 mei 2002 09:18 schreef robjanssen het volgende:
Kan zijn dat ik iets mis, maar waar zit nu het Excel gedeelte in je Script??
Je mist niks.
zit geen excel in.
de output zal een html tabelletje zijn , die kun je wellicht in excel importeren.

een paar opmerkingen over de code.
ipv for..... next gebruik je in dit geval beter
do until rs.eof
code hier
rs.movenext
loop

rs.recordcount gebruiken voordat de recordset is gepopuleert houdt een risico in.
gebruik:
rs.movelast
rs.movefirst
voor rs.recordcount om zeker te weten dat de complete dataset is ingelezen en niet enkel de eerste 2kb gegevens.

Verwijderd

Voor de mensen die net ff wat hebben gemist...
Boven in de code staat

---
response.ContentType="application/vnd.ms-excel"
--

Dit stukje code zorgt ervoor dat de pagina daar onder, de tabellen worden omgezet naar excel formaat dit is server side. De gebruiker kan na het opvragen van de asp pagina de pagina downloaden als xls bestand. Maar waarom de waarde uit de sessie niet wordt geaccepteerd is mij niet bekend. Weet iemand anders hier een oplossing voor ???

Erik_E
Pagina: 1