I tried doing:
...
    wb = load_workbook(filename= os.path.join(request.folder, 'static', 
'survey.xlsx'))
    cells = wb['Sheet1']
    if row.n1 == 'Yes':
        cells['I8'] = 'Yes'
    else:
        cells['I8'] = 'No'

Doing this allows me to submit the form without error..but when I open the 
file it inserts "No" even if the selected option was Yes. :(


On Wednesday, January 6, 2016 at 11:16:28 AM UTC-8, aetag...@gmail.com 
wrote:
>
> I am sure this is a problem with openpyxl and not web2py, although I do 
> not understand exactly why it is happening. Is there a way around it or to 
> fix it?
>
> When I submit the form the error is:  
> *<type 'exceptions.ValueError'> Cannot convert['Yes'] to Excel*
>
> Here is the code:
>
>
> q = ('Yes', 'No')
>
> def surv_excel(row):
>     from openpyxl import load_workbook
>     from openpyxl.writer.excel import save_virtual_workbook
>     from cStringIO import StringIO
>     from openpyxl.styles import PatternFill, Border, Side, Alignment, 
> Protection, Font
>     import os
>     wb = load_workbook(filename= os.path.join(request.folder, 'static', 
> 'survey.xlsx'))
>     cells = wb['Sheet1']
>     cells['I8'] = row.n1
>     cells['I10'] = row.n2
>     cells['I12'] = row.n3
>     cells['I14'] = row.n4
>     excel_file = StringIO()
>     excel_file.write(save_virtual_workbook(wb))
>     excel_file.seek(0)
>     return db.mysurvey.surv_file.store(excel_file, 'surveyresult.xlsx')
>
>
> db.define_table('surv',
>     Field('n1', 'list:string'),
>     Field('n2', 'list:string'),
>     Field('n3', 'list:string'),
>     Field('n4', 'list:string'),     
>     Field('surv_file', 'upload', compute=surv_excel),
>     Field('created_by', 'reference auth_user',
>           default=auth.user_id, readable=False, writable=False))
>
> db.surv.n1.requires = IS_IN_SET(q)
> db.surv.n2.requires = IS_IN_SET(q)
> db.surv.n3.requires = IS_IN_SET(q)
> db.surv.n4.requires = IS_IN_SET(q)
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to