2016-05-20 2 views
1
def email_page(request): 
    t = get_template('email.html') 
    email = EmailMessage('Hello', 'Test<br>break', '[email protected]',['[email protected]']) 
    email.content_subtype = "html" 

    workbook = xl.Workbook('ex.xlsx') 
    worksheet = workbook.add_worksheet() 
    worksheet.write(0, 0, 'Total') 
    workbook.close() 
    email.attach("ex.xlsx", workbook, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') 
    email.send() 
    return HttpResponse(t.render(Context({})), status=200) 

I tried the following changes on the email.attach line:Email прикрепление XLSX Джанго

  • workbook.read() - чтение не является атрибутом рабочей книги workbook.getvalue()

  • workbook.getvalue() - ПолучитьЗначение не является атрибутом из книги

  • Workbook - TypeError: 'Файл' объект не поддерживает индексацию

ответ

1
def email_page(request): 
    t = get_template('email.html') 
    email = EmailMessage('Hello', 'Test<br>break', '[email protected]',['[email protected]']) 
    email.content_subtype = "html" 
    f = StringIO.StringIO() # create a file-like object 
    workbook = xl.Workbook(f) 
    worksheet = workbook.add_worksheet() 
    worksheet.write(0, 0, 'Total') 
    workbook.close() 
    email.attach("b.xlsx", f.getvalue(), 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') 
    email.send() 
    return HttpResponse(t.render(Context({})), status=200) 

Таким образом, мы все равно можем использовать xlsx writer для создания файла.

Смежные вопросы