Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/07/2003, 04:01
Avatar de angel_dope
angel_dope
 
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 4 meses
Puntos: 8
Te pongo otro para excel en Spanish y por lo que veo más corto que lo que ya hay. Eso si, con esto lo que hace es crearte un fichero excel en el servidor. Eso no siempre puede ser recomendable. Yo lo he hecho asi, por que es lo que necesito en mi aplicación, yo quiero que los excel generados se conserven y se los puedan descargar los usuarios para un uso posterior

Código PHP:
<%@LANGUAGE="VBSCRIPT"%>
<!--
#include file="Connections/Gestom.asp" -->
<%
'Creas el recordset. Si no trabajas con DSN, hay que crear primero la conexión

Dim Empresas__MMColParam
Empresas__MMColParam = "1"
if (Request.QueryString("NOla") <> "") then Empresas__MMColParam = Request.QueryString("NOla")
%>
<%
Dim Empresas__MMColParamB
Empresas__MMColParamB = "1"
if (Request.Querystring("anyo")  <> "") then Empresas__MMColParamB = Request.Querystring("anyo") 
%>
<%
set Empresas = Server.CreateObject("ADODB.Recordset")
Empresas.ActiveConnection = MM_Gestom_STRING
Empresas.Source = "SELECT Cluster, Cuenta  FROM lis_empresas_recibidas  WHERE NOla = '" + Replace(Empresas__MMColParam, "'", "''") + "' 
AND año " + Replace(Empresas__MMColParamB, "'", "''") + ""
Empresas.CursorType = 0
Empresas.CursorLocation = 2
Empresas.LockType = 3
Empresas.Open()
Empresas_numRows = 0

Se crean las variables a utilizar (PathXXX corresponde a la ruta
' del archivo de tipo XXX que utilizaremos).
PathXLS        = Server.MapPath("./exportacion/Listado_empresas_recibidas_nola_"&Request.querystring("nola")&"_anyo_"&Request.querystring("anyo")&".xls")
FinLinea       = ""

Creo los objetos que utilizaremosserán de los tipos FSOTextStream y Connection
If not empresas.eof then
Set fso        
Server.CreateObject("Scripting.FileSystemObject")
Set Arch_Excel fso.CreateTextFile(PathXLSTrue)
'Set oConn      = Server.CreateObject("ADODB.Connection")


Recorro todo el recordset recuperando sus valores y escribiéndolos en el archivo Excel
If not empresas.bof or not empresas.eof then empresas.MoveFirst
'Aqui le metes la primera linea, con los encabezados de los campos para que despues sepas que hay en cada columna. 
'
Es muy importante que el orden de los campos de la select coincida con el orden de lo que pones aqui en el encabezado
'ya que sino, no te coincidirán los datos con el encabezado.
'
El chr(9es para pasar a la siguiente columna
encabezado 
"Cluster" chr(9) &"Cuenta" 
Arch_Excel.writeline encabezado
Do while Not empresas.EOF
    FinLinea 
""
    
For each x in empresas.fields
        FinLinea 
FinLinea x.value chr(9)
    
Next
    Arch_Excel
.writeline FinLinea
empresas
.MoveNext
Loop



' Cierro y destruyo todos los objetos utilizados para liberar memoria del servidor
Arch_Excel.Close
Set Arch_Excel = Nothing
Set fso        = Nothing
end if
%>
'
Despues creas la página con un enlace para poder abrir y descargar
<html>
<
head>
<
title>Untitled Document</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</
head>
<
body bgcolor="#0099CC" text="#000000">
<%
enlace "./exportacion/Listado_empresas_recibidas_nola_"&Request.querystring("nola")&"_anyo_"&Request.querystring("anyo")&".xls"%>
<
p><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>El 
  listado se ha generado correctamente en una hoja Excel
.</b></font></p>
<
p><font color="#FFFFFF"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="<%=enlace%>">Descargar 
  archivo Excel Generado
</a></font></b></font></p>
<
p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FFFFFF">(NOTA
  
Para descargar el archivo debe pulsar el enlace con el boton derecho y seleccionar 
  
&quot;Guardar Como&quot;)</font></b></font></p>
</
body>
</
html>
<%
Empresas.Close()
%> 
__________________
Vayamos por Partes :: Jack el Destripador

Última edición por angel_dope; 02/07/2003 a las 04:08