Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
5580 Weergaven

I generate XLSX file using xlsxwriter module and downloaded after generated, but what I need is to save the xlsx file in the attachment? #odoo 15


Avatar
Annuleer
Auteur

Thank you Jainesh,

I couldn't reply to your answer because of this stupid Karma. So your answer was helpful and inspired me to find the solution, but it will not work on Python 3, the following code is worked on Python 3:


from io import BytesIO

import base64

import xlsxwriter


        output = BytesIO()

        file_name = "%s.xlsx” % your_file_name

        workbook = xlsxwriter.Workbook(output)


        //your code here


        self.env['ir.attachment'].create({

            'name': file_name,

            'type': 'binary',

            'datas': datas,

            'store_fname': file_name,

            'res_model': model_name,

            'res_id': res_id,

            'mimetype': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

        })





Beste antwoord

Hello Saleh Algarni

Hope this code block will work for you.

Please find code in Comment. 

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

Avatar
Annuleer

from cStringIO import StringIO
import base64

workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_column('A:A', 20)

# Code for XLSX

fp = StringIO()
workbook.save(fp)
fp.seek(0)
datas = base64.encodestring(fp.read())
file_name = "demo.xlsx"
attachment_data = {
'name':file_name,
'datas_fname':file_name,
'datas':datas,
'res_model':"modelname",
}
self.env['ir.attachment'].create(attachment_data)

Gerelateerde posts Antwoorden Weergaven Activiteit
0
jan. 22
2022
1
feb. 25
1089
1
mei 23
4062
1
jul. 19
4885
2
jun. 23
8723