[pyar] Reportes profesionales en python
Wuelfhis Asuaje
wasuaje en hotmail.com
Vie Jun 21 12:51:17 ART 2013
> Message: 4
> Date: Thu, 20 Jun 2013 15:54:10 -0400
> From: Wuelfhis Asuaje <wasuaje en hotmail.com>
> To: Pytho Argentina <pyar en python.org.ar>
> Subject: [pyar] Reportes profesionales en python
> Message-ID: <BAY155-W124E43A32E7A39AE346510B18E0 en phx.gbl>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Saludos a todos
> Les molesto para saber en la actualidad con que herramienta estan "reporteando", estoy trabajando con python hace 4 años pero no me convence fpdf (ni nada parecido) reportlab (ni nada parecido). Me gustaria una en que abra un diseñador grafico colo mis encabezados, grupos, detalles, pie de pagina y luego de alguna manera le mande el query o la data o lo que sea y salga el reporte como lo diseñe, tomando en cuanta saltos de paginas de grupos etc.
>
> Espero no pedir demasiado
>
> gracias
Como decimos en Venezuela, me voy a pagar y dar el vuelto: es decir, miren lo que consegui:
http://community.jaspersoft.com/project/ireport-designer
Se llama ireport, un diseñador grafico a todo dar, se conecta a la bbdd, le pasas el query, te muestra los campos los pones donde quieras.
El te genera un reporte.jasper
Luego descargue :
http://jasperstarter.sourceforge.net/
Jasper stater
Es capaz de mostrar el reporte en una buena cantidad de formatos
El unico prerequisito que tiene es el jdbc driver de tu bbdd, que tiene que ser copiado en una carpeta del jasperstarter
Desde la linea de comando seria:
jasperstarter/bin/jasperstarter pr -t mysql -H localhost -u root -p pass -n dbtest -f pdf -i mireporte.jasper && evince mireporte.pdf
y funciona excelente.
Ahora, en otro nivel, integrando con web2py
en un controller
def report():
import subprocess
ruta='/home/wasuaje/Documentos/desarrollo/web2py5/applications'
reporter=ruta+URL('static/jasperstarter/bin','jasperstarter')
report=ruta+URL('static/reports','reporte.jasper')
reportpdf=URL('static/reports','reporte.pdf')
cmd='%s pr -t mysql -H localhost -u root -p pas -n dbtest -f pdf -i %s' % (reporter,report)
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
return dict(report=reportpdf)
En mi view
{{extend 'layout.html'}}
{{=A('Productos',_href=report)}}
Un simple link a mi archivo pdf generado y voilá !
Ahora, me gustaria sus comentarios al respecto !
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130621/a08c88a3/attachment.html>
More information about the pyar
mailing list