|
Página 1 de 1
|
Problemas Para Generar Un Reporte Html
Autor |
Mensaje |
OneErick
Usuario
Registrado: Noviembre 2012
Mensajes: 33
Edad: 32
|
Problemas Para Generar Un Reporte Html
Hola a todos espero y anden bien, tenia tiempo que no entraba al foro pido disculpa por ello..
pero hoy les traigo un pequeño problema que no he podido solucionar durante meses y se que uds podran ayudar..
problema: Quiero generar una serie de reportes en html y tengo este codigo
este codigo me lo presto un amigo pero me genera un error en el
eh tratado de corregirlo pero no he dado con la solución, no se si seran los complementos o la version de gambas, espero su ayuda
aqui una imagen del error
Gracias...
Saludos.
|
#1 Domingo, 30 Junio 2013, 02:05 |
|
|
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 Ubicación: Montevideo
|
Re: Problemas Para Generar Un Reporte Html
No lo he hecho nunca, pero supongo que en la línea anterior le dices que si el archivo existe lo elimine (en realidad que elimine la variable rutareport) y luego tratas de abrirlo.
Si tratas de abrir un archivo existente y usas la palabra clave create, el mismo aparece en blanco.
Saludos
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
última edición por Dani26 el Domingo, 30 Junio 2013, 02:53; editado 1 vez
|
#2 Domingo, 30 Junio 2013, 02:52 |
|
|
OneErick
Usuario
Registrado: Noviembre 2012
Mensajes: 33
Edad: 32
|
Re: Problemas Para Generar Un Reporte Html
el problema es que el unico reporte que he hecho es con el complemento gb report pero resulta que debo imprimir los reportes de acuerdo a un formato establecido :S
alguien podria ayudarme con otro ejemplo o algo que me sirva?
|
#3 Domingo, 30 Junio 2013, 03:39 |
|
|
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 Ubicación: Montevideo
|
Re: Problemas Para Generar Un Reporte Html
A ver si esto te sirve de ayuda Enlace
Saludos
PD: ¿probaste eliminar esta línea de tu código?
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
última edición por Dani26 el Domingo, 30 Junio 2013, 04:20; editado 1 vez
|
#4 Domingo, 30 Junio 2013, 04:18 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
Re: Problemas Para Generar Un Reporte Html
No uses Application.Path, usa o el directorio /tmp o alguno que se desprenda de la home del usuario. Puedes usar el comodin User.Home
Y envez de llamar a FireFox (imagina que el usuario final tiene otro Browser) habilita el componente desktop y usa Desktop.Open(URL)
Tu error es que tienes que asignar el Open a la variable File......... Corrigiendo tu código quedaria de la sig. forma:
Public Sub Button1_Click()
Dim archivo As File
Dim rutareport As String
rutareport = User.Home &/ "reporte.html"
If Exist(rutareport) Then Kill rutareport
archivo = Open rutareport For Create
Print #archivo, "<html><head>" &
"<title>Reporte de RED</title>" &
"<meta charset=\"UTF-8\">" &
"</head>" &
"<body>esto debe estar al inicio de cada linea del diseño del html</body>" &
"</html>"
Close #archivo
Desktop.Open(rutareport)
End
Saludos!
|
#5 Domingo, 30 Junio 2013, 04:44 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Para Generar Un Reporte Html
Yo, salvo que el reporte a imprimir sea enorme, no lo haría así. Me es mucho más simple:
Dim archivo As File
Dim rutareport, elReport As String
rutareport = User.Home &/ "reporte.html"
If Exist(rutareport) Then Kill rutareport
ElReport= "<html><head>\n<title>Reporte de RED</title>\n<meta charset=\"UTF-8\">\n </head>\n <body>esto debe estar al inicio de cada linea del diseño del html</body>\n</html>"
file.Save(rutareport,elreport)
Desktop.Open(rutareport)
Es lo mismo, pero tiene una cierta flexibilidad, es decir, antes de file.Save, si fuese necesario, puedes hacer cosas con el html en sí (cambiar codificaciones, comprobar si existe o no algún caracter extraño, etc. etc.)
Supongo que es cuestión de estilos.
Saludos.
última edición por shordi el Domingo, 30 Junio 2013, 08:49; editado 1 vez
|
#6 Domingo, 30 Junio 2013, 08:48 |
|
|
OneErick
Usuario
Registrado: Noviembre 2012
Mensajes: 33
Edad: 32
|
Re: Problemas Para Generar Un Reporte Html
A ver si esto te sirve de ayuda Enlace
Saludos
PD: ¿probaste eliminar esta línea de tu código?
si ya lo probe y no funciona..
No uses Application.Path, usa o el directorio /tmp o alguno que se desprenda de la home del usuario. Puedes usar el comodin User.Home
Y envez de llamar a FireFox (imagina que el usuario final tiene otro Browser) habilita el componente desktop y usa Desktop.Open(URL)
Tu error es que tienes que asignar el Open a la variable File......... Corrigiendo tu código quedaria de la sig. forma:
Saludos!
razaaztk compile pero jugaste con mi sentimientos la correccion que hiciste da error en esta linea
error: Simbolo 'open' desconocido en la clase 'Desktop'
y lo mismo pasa con el ejemplo que puso shordi
y pej estoy usando esta manera por que enserio los reportes son muy largos incluso hay uno que tiene 4 paginas de oficio de ODT :S
y porque no puedo especificar el explorador? entonces como podria abrirse?
disculpen la preguntadera pero en reportes si toy fallisimo..
|
#7 Lunes, 01 Julio 2013, 21:44 |
|
|
OneErick
Usuario
Registrado: Noviembre 2012
Mensajes: 33
Edad: 32
|
Re: Problemas Para Generar Un Reporte Html
Listo Funciono abrio el reporte en html..
ahora una ultima pregunta como haría para sacar los datos podrían instruirme en esa parte? o encaminarme..?
Muchas Gracias a Todos
Saludos
|
#8 Lunes, 01 Julio 2013, 21:50 |
|
|
jousseph
jousseph germaine celis zambrano
Analista Programador
Registrado: Julio 2010
Mensajes: 434
Edad: 38 Ubicación: Tachira
|
Re: Problemas Para Generar Un Reporte Html
OneErick
Jajajaja dígame esta parte
Citar: If Exist(rutareport) Then Kill rutareport
Dice si encuentras un reporte con el mismo nombre ASESINARLO, dira el cliente cada ves que creo un reporte se oculta! venditos reportes tienen viiidaa se camuflaaan jajajaja.
Yo por otra parte no niego que me ha gustado y dado ideas lo único que hice fue quitarle el KILL y condicionarlo con un mensaje, si encuentra archivo decir el archivo ya existe cambie el nombre o mover de lo contrario guardarlo.
Public Sub Button_reportes_Click()
Dim ruta As String
Dim archivo As File
Dim i, j As Integer
Dim fila As String
Dim division As Float
Dim contador As Integer
ruta = User.Home &/ "Reporte de Registro de Profesores y sus Materias.html"
If Exist(ruta) Then ---------------------------------Quitar el kill y condicionarlo a un mensaje
Message.Warning("YA HAY UN REPORTE CON EL MISMO NOMBRE POR FAVOR MUEVA EL MISMO A OTRA RUTA O CAMBIE EL NOMBRE!")
Else
If Message.Question(" ¿DESEA GUARDAR UN REPORTE DE PROFESORES CON SUS MATERIAS?", "SI", "NO") = 1 Then
archivo = Open ruta For Write Create
Print #archivo, "<html>"
Print #archivo, "<head><title>Reporte de profesores y las materias que imparten</title></head>"
Print #archivo, "<body topmargin='0' leftmargin='0'"
Print #archivo, ">"
Print #archivo, "<table border='1' width='500' cellpadding='0' cellspacing='0'>"
Print #archivo, " <tr>"
Print #archivo, " <td rowspan='10' colspan='50' align='center'>"
Print #archivo, " <h3>Listado de profesores</h3>"
Print #archivo, " <tr>"
'Print #archivo, " <td colspan='20' align='center'>"
Print #archivo, " <td bgcolor= #D9D9D9 align = 'center'> <h6>Cedula</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Nombre</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'><h6>Direccion</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Telefono</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Codigo de Materia</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Materia</h6></td>"
Print #archivo, " </tr>"
For i = 0 To Lista.rows.Count - 1
Print #archivo, " <tr>"
For j = 0 To Lista.Columns.Count - 1
Print #archivo, " <td><h6>" & Lista[i, j].Text & "</h6></td>"
Next
Print #archivo, " </tr>"
Next
Print #archivo, "</table>"
Print #archivo, "</body>"
Print #archivo, "</html>"
Close #archivo
Message.Info("SE HA CREADO UN REPORTE EN MODO TABLA DE PROFESORES Y SUS MATERIAS (GUARDADO EN DIRECTORIO PRINCIPAL)")
Endif
Endif
End
Otra idea que esto podría dar para que no este diciendo mover o cambiar nombre, seria crear una variable string o textbox donde uno coloque el nuevo nombre y se guarde, ya eso lo tendría que probar.
A mi me esta gustando la idea de los reportes en html ya que me interesa sacar un total de todos los registros posibles en tabla pero empequeñeciendo las letras y darle color a los campos iniciales de las columnas.
Otra cosa que me ha llamado la atencion son estos codigos.
Exec ["firefox", rutareport, "Reporte"]
creo que tambien dice:
shell ["firefox", rutareport, "Reporte"]
If Exist(rutareport) Then Kill rutareport
Si yo hiciera un Direct Chooser se podria colocar en el mismo esos comando para abrir, modificar y eliminar archivos?.
última edición por jousseph el Viernes, 08 Agosto 2014, 06:14; editado 1 vez
|
#9 Viernes, 08 Agosto 2014, 05:47 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Para Generar Un Reporte Html
Citar: Otra cosa que me ha llamado la atencion son estos codigos.
Exec ["firefox", rutareport, "Reporte"]
creo que tambien dice:
shell ["firefox", rutareport, "Reporte"]
If Exist(rutareport) Then Kill rutareport
¿Y qué pasa si el cliente no usa Firefox? ¿y si usa Opera, Chrome o el que sea?
Mejor añade a tu proyecto el componente gb.Desktop y utiliza el método Open
algo así (escribo de memoria, puede ser algo distinto):
desktop.open(rutareport & "Reporte")
Con eso se abrirá con el navegador que el ordenador tenga como preferido.
Saludos
|
#10 Viernes, 08 Agosto 2014, 09:17 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|