I was just giving you an example of how I do it. You do not need to
use xlsxwriter - you can use anything you want to generate your xls
files. The key to allowing the user to download it is returning a
HttpResponse with content_type='application/ms-excel'

On Mon, Apr 16, 2018 at 6:26 PM, sum abiut <suab...@gmail.com> wrote:
> Thanks Larry,
> I haven't actually try xlsxwriter before so i find some difficulties
> understanding your code. Do you mind explaining the code, i will definitely
> have a read on the documentation.
>
> cheers
>
>
> On Tue, Apr 17, 2018 at 1:42 AM, Larry Martell <larry.mart...@gmail.com>
> wrote:
>>
>> I use xlsxwriter and I do it like this:
>>
>>         output = io.BytesIO()
>>         workbook = xlsxwriter.Workbook(output, {'in_memory': True})
>>         # write file
>>         output.seek(0)
>>         response = HttpResponse(output.read(),
>> content_type='application/ms-excel')
>>         response['Content-Disposition'] = "attachment; filename=%s" %
>> xls_name
>>         return response
>>
>> On Mon, Apr 16, 2018 at 2:05 AM, sum abiut <suab...@gmail.com> wrote:
>> > my code actually worked. I thought it was going to save the excel file
>> > to
>> > 'C:\excel' folder so i was looking for the file in the folder but i
>> > couldn't
>> > find the excel file. The excel file was actually exported to my django
>> > project folder instead.
>> >
>> > How to i allow the end user to be able to download the file to their
>> > desktop
>> > instead of exporting it to the server itself
>> >
>> >
>> >
>> > On Mon, Apr 16, 2018 at 3:27 PM, sum abiut <suab...@gmail.com> wrote:
>> >>
>> >> I wrote a function to export sql query to an excel file, but some how
>> >> the
>> >> excel file wasn't created when the function was call. appreciate any
>> >> assistances
>> >>
>> >> here is my view.py
>> >>
>> >> def download_excel(request):
>> >>     if "selectdate" in request.POST:
>> >>         if "selectaccount" in request.POST:
>> >>             selected_date = request.POST["selectdate"]
>> >>             selected_acc = request.POST["selectaccount"]
>> >>         if selected_date==selected_date:
>> >>             if selected_acc==selected_acc:
>> >>                 convert=datetime.datetime.strptime(selected_date,
>> >> "%Y-%m-%d").toordinal()
>> >>
>> >> engine=create_engine('mssql+pymssql://username:password@servername
>> >> /db')
>> >>                 connection = engine.connect()
>> >>                 metadata=MetaData()
>> >>
>> >> fund=Table('gltrxdet',metadata,autoload=True,autoload_with=engine)
>> >>
>> >> rate=Table('gltrx_all',metadata,autoload=True,autoload_with=engine)
>> >>
>> >>
>> >> stmt=select([fund.columns.account_code,fund.columns.description,fund.columns.nat_balance,fund.columns.rate_type_home,rate.columns.date_applied,rate.columns.date_entered,fund.columns.journal_ctrl_num,rate.columns.journal_ctrl_num])
>> >>
>> >>
>> >> stmt=stmt.where(and_(rate.columns.journal_ctrl_num==fund.columns.journal_ctrl_num,fund.columns.account_code==selected_acc,rate.columns.date_entered==convert))
>> >>
>> >>                 df = pd.read_sql(stmt,connection)
>> >>
>> >>                 writer = pd.ExcelWriter('C:\excel\export.xls')
>> >>                 df.to_excel(writer, sheet_name ='bar')
>> >>                 writer.save()

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CACwCsY61bx7_oFFq4%3D7ShNJc3G-Em21DDD_b%3DwdJOxeK9wa-yg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to