Excel con imagenes
Publicado por israel (1 intervención) el 12/03/2007 10:22:53
Hola a todos, tengo un problemilla con asp al generar un excel y no se como arreglarlo, el problema es que cuando lo relleno con datos todo va bien pero cuandointento mostrar una imagen no lo hace me muestra la tipica cruz roja y no imprime ninguna fila más.
¿Alguien sabe como resolver esto?
El codigo que uso es este :
<!--#include virtual = "/admin/gestores/tcontSite/ges_sites/configuracion.asp"-->
<!--#include virtual = "/admin/conf/configuracionBBDD.asp"-->
<%
id_categoria = Request.QueryString("id_cat")
Dim sTable
Dim sDSN
Dim sFields
sDSN = "217.116.21.14" 'Name of your DSN
sFields = "wallpaper_id,archivo" 'Lista de campos delimitados por comas
sTable = "cont_wall_cat" 'Nombre de la tabla o vista
URL = "http://images.gigigo.com/content/wallpapers_preview/45/"
'Conexión y apertura a la base de datos sin DSN
set BBDD = Server.CreateObject("ADODB.Connection")
BBDD.Open(buscarConexionBBDD(CBD_TEXT))
Set consulta = Server.CreateObject("ADODB.Recordset")
'sql = "select "& sFields &" from "& sTable &" where categoria_id = "&id_categoria
sql = "SELECT "& sFields &" FROM "& sTable &" INNER JOIN tcontDB.cont_wallpapers ON tcontDB.cont_wall_cat.wallpaper_id = tcontDB.cont_wallpapers.id WHERE (tcontDB.cont_wall_cat.categoria_id = "&id_categoria&")"
consulta.Open sql, BBDD, adopenstatic,adcmdtext
'Response.ContentType = "application/csv"
Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "filename=FicheroDePrueba.xls;"
' lets print the fields on top
%>
<table>
<tr bgcolor="#0066FF">
<%for i = 0 to consulta.Fields.Count-1%>
<td align="center">
<%Response.Write lcase(consulta.Fields(i).Name)%>
</td>
<%next%>
</tr>
</table>
<%Response.write vbNewLine
Response.write vbNewLine%>
<table>
<%do while not consulta.EOF%>
<tr bgcolor="#33CC99">
<%for u=0 to consulta.Fields.Count - 1
imagen = URL & consulta("archivo") & ".gif"
nombre = consulta.Fields(u).Name
if nombre = "archivo" then%>
<td align="center">
<img src = "<%imagen%>">
</td>
<%else%>
<td align="center">
<%Response.Write consulta.Fields(u).Value%>
</td>
<%end if
next%>
</tr><br/>
<%response.write vbNewLine%>
<%consulta.MoveNext
loop%>
</table>
<%Response.write vbNewLine
Response.write vbNewLine
Set consulta = Nothing
Set BBDD = Nothing
%>
¿Alguien sabe como resolver esto?
El codigo que uso es este :
<!--#include virtual = "/admin/gestores/tcontSite/ges_sites/configuracion.asp"-->
<!--#include virtual = "/admin/conf/configuracionBBDD.asp"-->
<%
id_categoria = Request.QueryString("id_cat")
Dim sTable
Dim sDSN
Dim sFields
sDSN = "217.116.21.14" 'Name of your DSN
sFields = "wallpaper_id,archivo" 'Lista de campos delimitados por comas
sTable = "cont_wall_cat" 'Nombre de la tabla o vista
URL = "http://images.gigigo.com/content/wallpapers_preview/45/"
'Conexión y apertura a la base de datos sin DSN
set BBDD = Server.CreateObject("ADODB.Connection")
BBDD.Open(buscarConexionBBDD(CBD_TEXT))
Set consulta = Server.CreateObject("ADODB.Recordset")
'sql = "select "& sFields &" from "& sTable &" where categoria_id = "&id_categoria
sql = "SELECT "& sFields &" FROM "& sTable &" INNER JOIN tcontDB.cont_wallpapers ON tcontDB.cont_wall_cat.wallpaper_id = tcontDB.cont_wallpapers.id WHERE (tcontDB.cont_wall_cat.categoria_id = "&id_categoria&")"
consulta.Open sql, BBDD, adopenstatic,adcmdtext
'Response.ContentType = "application/csv"
Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "filename=FicheroDePrueba.xls;"
' lets print the fields on top
%>
<table>
<tr bgcolor="#0066FF">
<%for i = 0 to consulta.Fields.Count-1%>
<td align="center">
<%Response.Write lcase(consulta.Fields(i).Name)%>
</td>
<%next%>
</tr>
</table>
<%Response.write vbNewLine
Response.write vbNewLine%>
<table>
<%do while not consulta.EOF%>
<tr bgcolor="#33CC99">
<%for u=0 to consulta.Fields.Count - 1
imagen = URL & consulta("archivo") & ".gif"
nombre = consulta.Fields(u).Name
if nombre = "archivo" then%>
<td align="center">
<img src = "<%imagen%>">
</td>
<%else%>
<td align="center">
<%Response.Write consulta.Fields(u).Value%>
</td>
<%end if
next%>
</tr><br/>
<%response.write vbNewLine%>
<%consulta.MoveNext
loop%>
</table>
<%Response.write vbNewLine
Response.write vbNewLine
Set consulta = Nothing
Set BBDD = Nothing
%>
Valora esta pregunta


0