exportar a xls

67 views
Skip to first unread message

Roberto Navarro Gomez

unread,
Sep 19, 2015, 12:11:16 AM9/19/15
to Django-es
    Hola buenas tardes.
 
Ya tengo llevo un buen rato desarrollando en django, pero me falta mucho por aprender y les pido su ayudar para hacer este metodo he leido varios foros pero no les entiendo.
lo que trato de hacer es: Tengo una vista donde hago una consulta por fechas y el resultado de la consulta me lo muestra en una vista. Me gustaria exportar toda mi vista o mi consulta a un archivo de excel, no se si me puedan ayudar..

adjunto imagen. 

De antemano gracias.

exportar.PNG

Hiko hitokiri

unread,
Sep 19, 2015, 12:40:42 AM9/19/15
to djan...@googlegroups.com
y como lo queres hacer? segun tu idea y si ya estas haciendo algo o tenes algo mostralo para ver si se puede seguir por ahi o estas mal

Julián Cortés

unread,
Sep 19, 2015, 3:53:31 PM9/19/15
to djan...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mire esta librería de python que le ayudará a crear el excel. Es fácil de usar.

https://openpyxl.readthedocs.org/en/latest/

-----BEGIN PGP SIGNATURE-----
Version: OpenPGP.js v0.9.0
Comment: http://openpgpjs.org

wsFcBAEBCAAQBQJV/b0gCRCXew1vWh28RQAAVAgP/2C92JHUnDX+Tf1YRbsL
mLTH4BXhR3wE/1N0NTKc7BgMu//O05AiJnvmwqcpQLOE7wJhXiwmvWzL4/VZ
NioY+kUMschgG07OWG/fKgVs65AuQ71Qc2b0pDBzmVrR3omRauobbNarvmYl
T+IQ2ulDmAN+HpBq+iNsgD7epm6UNxYeeRiDDgO7yu7AloGwmAC6FFEIHKYq
LcorpWgo9z63BQ3bkrtvKF90ZqOCBBht4NZ3qjR/n9u8DhQfPhBjbhHlfKaU
K0lDzPRTtMmL8+KIbvWf28cXK411VRtdx9kICASO8kbmqT8mFDkgb+JaDw9f
3PgcWiw7NEvJJ4ZSM0QOANk1fj+NR8eSzFrmwAg3JX+0x+3lj+fnA6y2hepK
S+dzaRzwXbgMl2eHRc/wsSgtJgDsiF/4J/dq6ZLMpSVkvjGMNI29I2gvVadF
wh5PiF4EulVQ2EbwAU9nYdCww+qzqPRxykyKz2IKbGogfGbQqSkl4IMSyeYU
bgt0aDqLFdridk0k09yvLE6IZr6Pk2jsVC8m+OECeN4/kqZzmBYCpTTSi3qK
tEoc4sAa3Tpg6G2KJTICBSFksAT3O7pyLYA0a6TE19kknzZVLvx57+I9aukB
P+T9mBRyczRqqxl45CKFo1cwKzBUfTwpfHFvRdMFoDxptmMncUXlqep3efx9
r4Zp
=+vB+
-----END PGP SIGNATURE-----

El 18 de septiembre de 2015, 11:40 p. m., Hiko hitokiri<las...@gmail.com> escribió:
y como lo queres hacer? segun tu idea y si ya estas haciendo algo o tenes algo mostralo para ver si se puede seguir por ahi o estas mal

--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a django-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
           pity

01110000 01101001 01110100 01111001

Google+: +JuliánCortés
Twitter: __pity7736__

chipocrudos

unread,
Sep 19, 2015, 5:57:23 PM9/19/15
to Django-es
Puedes usar relatorio si no estas obligado a usar xls y si un formato abierto odf o puedes exportar a CSV que es otra opción. En cualquiera de los dos casos puedes abrirlos con office sea libre o m$, relatorio te permite maquetar con imágenes y demás.

https://pypi.python.org/pypi/relatorio

Roberto Navarro Gomez

unread,
Sep 21, 2015, 1:25:26 AM9/21/15
to djan...@googlegroups.com
Hola buenas noches gracias por tu pronta respuesta.

Este es mi codigo para la consulta el que tomo en cuenta es la consulta 2

@login_required
def index(request):
    _username = request.user.username
    datosPersonales = User.objects.get(username=_username)
    userActivo = users.objects.get(usuario_id=datosPersonales.id)
    
           
    now = datetime.datetime.now()
    
    if request.method == 'POST':
        datos = request.POST
        inicio = datos['fecha_inicio']
        final = datos['fecha_final']
        consulta = pedidos.objects.filter(fecha_actualizacion__range = (inicio, final))
        consulta2 = des_pedidos.objects.filter(fecha_actualizacion__range = (inicio, final))
       
             
        context = {
                 'datos':datos,
                 'inicio':inicio,
                 'final':final,
                 'consulta':consulta,
                 'consulta2':consulta2,             
                 } 
        return render(request, 'canjes/index.html',context)     
    
    
    return render(request, 'canjes/index.html')


Y este es mi codigo que muestra el codigo de mi consulta lo hago por fechas lo que quiero exportar es el resultado de mi consulta a un archivo xls o csv. Lo que se a mas viable.

<form id="canjespir" action="{% url 'canjes:index' %}" method="post" margin: 0 auto;">
{% csrf_token %}
<div class="row" style="text-align: center;">
<div class="col-md-2">Fecha de Inicio</div>
<div class="col-md-2">
    <input type="text" name="fecha_inicio" id="fecha1" value="">
</div>
<div class="col-md-2">Fecha de Fin</div>
<div class="col-md-2">
    <input type="text" name="fecha_final" id="fecha2" value="">
</div>
<div class="col-md-4">
<div class="evento">
<input class="btn btn-success" type="submit" value="Aceptar">
                   </div><br>
<div class="evento">
<input class="btn btn-success" type="" value="Exportar XLS">
                   </div>
</div>                    
</div>
<br>
</div>
<!-- Fin deo row -->
</form>
<div class="row controw" style="text-align: center;">
<p>Fechas  <b>{{ inicio }} </b>  Al  <b> {{ final }} </b></p>
<div class="col-md-3"><p>Nombre</p></div>
<div class="col-md-3"><p>Nombre del producto</p></div>
<div class="col-md-3"><p>SKU</p></div>
<div class="col-md-3"><p>Numero de Pedido</p></div>
</div>
<div class="row controw" style="text-align: center;">
<div class="col-md-12">
<div class="row">
{% for consulta2 in consulta2  %}
<div class="col-md-3">
{{ consulta2.pedido.usuario.nombre }} {{consulta2.pedido.usuario.ap_paterno}}
</div>
<div class="col-md-3">
{{ consulta2.producto.nombre }} 
</div>
<div class="col-md-3">
{{ consulta2.producto.sku}}
</div>
<div class="col-md-3">
{{ consulta2.pedido.numero_pedido }}
</div>
{% endfor %}
</div><br>
</div>
</div>
Espero que con esto si me puedan orientar de como hacer esta funcion.

Saludos.

El 18 de septiembre de 2015, 23:40, Hiko hitokiri <las...@gmail.com> escribió:
y como lo queres hacer? segun tu idea y si ya estas haciendo algo o tenes algo mostralo para ver si se puede seguir por ahi o estas mal

--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/django-es/uXmsr3yXtT4/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a django-es+...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Me despido con un cordial saludo y en espera de su pronta respuesta de antemano gracias.
Saludos cordiales.

LI. Roberto A. Navarro Gomez.

Hiko hitokiri

unread,
Sep 21, 2015, 4:21:31 AM9/21/15
to djan...@googlegroups.com
existe en la documentacion oficial algo para generar cvs
https://docs.djangoproject.com/en/1.8/howto/outputting-csv/

puedes usar tanto apps de terceros para lograrlo tambien o bien algo asi
http://djangotricks.blogspot.com/2013/12/how-to-export-data-as-excel.html

Angel Alvarez

unread,
Sep 21, 2015, 9:03:08 AM9/21/15
to djan...@googlegroups.com
Ya probaste con xlwt???



--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a django-es+...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Angel C. Alvarez

Roberto Navarro Gomez

unread,
Jun 27, 2016, 11:31:38 PM6/27/16
to Django-es
Buenas noches.

Estoy retomando el proyecto ya que la persona que lo tenia anterior mente no pudo.
lo que quiero hacer es el reporte que me muestra en la imagen ese mismo exportarlo a un excel.

lo que hago es una consulta por fechas y el resultado lo muestra bien pero quieren que se haga la exportacion.

Gacias.

Charly Román

unread,
Jun 27, 2016, 11:52:22 PM6/27/16
to djan...@googlegroups.com

Y ya probaste algo de lo que te escribieron por acá?

--

Jose Miguel Amaya Camacho

unread,
Jun 28, 2016, 9:38:40 AM6/28/16
to djan...@googlegroups.com

Roberto Navarro Gomez

unread,
Jul 5, 2016, 2:26:05 PM7/5/16
to djan...@googlegroups.com
Hola buenas tardes a todos.

he estado revisando documentación y todos las ligas que me mandaron y lo que trato de hacer la verdad no me sale como lo explican en la documentación.

lo que hago es hacer una cunsulta por fechas y con respecto a las fechas tengo como resultado el reporte y me muestra los datos que se ven en la imagen que adjunto.

lo que quiero hacer es que esa informacion que me muestra es exportarla tal cual a un excel o cvs.
Imágenes integradas 1


Has recibido este mensaje porque estás suscrito a un tema del grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/django-es/uXmsr3yXtT4/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a django-es+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages