Dear Alec ,
is it done like this :
<a href="{{=URL('csv')}}">export </a>
in controller :
def csv():
db.export_to_csv_file(open('filename.csv','w'))
but is the user going to have the csv file downloaded to his pc and how can
i specify the table ?
Best Regards,
On Mon, Jul 30, 2012 at 2:49 AM, Alec Taylor <[email protected]> wrote:
> http://www.web2py.com/AlterEgo/default/show/196
>
> On Mon, Jul 30, 2012 at 5:36 PM, hasan alnator
> <[email protected]> wrote:
> > Dear Massimo ,
> >
> > This is great , thank you ... but as i told you above , i want the
> user to
> > download a csv file for a table .. so it export not import , like the
> > one you have on the appadmin the 'Export CSV button' , thank you for
> your
> > help
> >
> > Best Regards,
> >
> >
> > On Sun, Jul 29, 2012 at 8:38 AM, Massimo Di Pierro
> > <[email protected]> wrote:
> >>
> >> My bad.
> >>
> >> db[form.vars.table].import_from_csv_file(request.vars.csvfile)
> >>
> >> should be
> >>
> >> db[form.vars.table].import_from_csv_file(request.vars.csvfile.file)
> >>
> >>
>
> Thanks
>
> >> On Sunday, 29 July 2012 10:32:29 UTC-5, Alec Taylor wrote:
> >>>
> >>> On Mon, Jul 30, 2012 at 12:11 AM, Massimo Di Pierro
> >>> <[email protected]> wrote:
> >>>>
> >>>> Sorry. My advice was about downloading all tabes at once.
> >>>>
> >>>> If you want import one table you could do:
> >>>>
> >>>> def import_table():
> >>>> form =
> SQLFORM.factory(Field('table',requires=IS_IN_SET(db.tables)),
> >>>>
> >>>> Field('csvfile','upload',uploadfield=False))
> >>>> form.process()
> >>>> if form.accepted:
> >>>> try:
> >>>>
> >>>> db[form.vars.table].import_from_csv_file(request.vars.csvfile)
> >>>> except: form.errors.csvfile = 'invalid file'
> >>>> return dict(form=form)
> >>>
> >>>
> >>> I tried that on Windows, and the upload field gave an open command, so
> I
> >>> right-clicked "New File->New Text Document" and create "foo.csv".
> >>>
> >>> Selecting it then clicking open then clicking "Submit" gave me the
> >>> "invalid file" error.
> >>>
> >>>> On Sunday, 29 July 2012 07:18:02 UTC-5, Hassan Alnatour wrote:
> >>>>>
> >>>>> Thank you a lot massimo but what is tempfile and how can i give it a
> >>>>> certain table to import ??
> >>>>>
> >>>>>
> >>>>> Best Regards,
> >>>>>
> >>>>>
> >>>>> On Sun, Jul 29, 2012 at 5:14 AM, Massimo Di Pierro
> >>>>> <[email protected]> wrote:
> >>>>>>
> >>>>>> In view:
> >>>>>> <a href="{{=URL('download_all')}}">download all</a>
> >>>>>>
> >>>>>> In controller
> >>>>>>
> >>>>>> def download_all():
> >>>>>> import tempfile
> >>>>>> tmp = tempfile.TemporaryFile()
> >>>>>> db.export_to_csv_file(tmp)
> >>>>>> tmp.seek(0)
> >>>>>> return response.stream(tmp)
> >>>>>>
> >>>>>> On Sunday, 29 July 2012 03:07:40 UTC-5, Hassan Alnatour wrote:
> >>>>>>>
> >>>>>>> Dear ALL,
> >>>>>>>
> >>>>>>> How can i make a button that lets the user download a scv file for
> on
> >>>>>>> of my tables ?
> >>>>>>>
> >>>>>>>
> >>>>>>> best regards,
> >>>>>>
> >>>>>> --
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>> --
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >> --
> >>
> >>
> >>
> >
> >
> > --
> >
> >
> >
>
> --
>
>
>
>
--